ゆうNo.23404
ゆふ さん 07/08/20 22:27
 
こんばんは、いつもお世話になっております。

|のくくりに制限があり10個までとマニュアルにあるのですが、
以下のマクロでエラーはでません。
エラーがでなくてもうまく動作してないということでしょうか?
やはり10個以下に必ずした方がいいのでしょうか?


replaceallfast "(対象と方法|考察・結語|目的|方法|考察|結果|対象|結論|結語|は
じめに|背景)\\f[:;]" , "【\\0】" , regular;

すみません、みなさま知恵をおかしください。

[ ]
RE:23404 ゆうNo.23405
秀丸担当 さん 07/08/21 09:33
 

>|のくくりに制限があり10個までとマニュアルにあるのですが、
>以下のマクロでエラーはでません。
>エラーがでなくてもうまく動作してないということでしょうか?
>やはり10個以下に必ずした方がいいのでしょうか?

調べてみたら、この制限はjre32.dllを使っているときのものでした。
V4.00以降は標準でhmjre.dllを使うようになっているので、この制限は関係あり
ません。
hmjre.dllの場合は特に制限は無いです。
マニュアルに書いてあることはおかしかったです。すみません。書き直しておき
ます。
ちなみに正規表現のDLLは、[その他]→[動作環境]→[環境]で変更できます。

[ ]
RE:23405 ゆうNo.23407
ゆふ さん 07/08/21 21:06
 
返信ありがとうございました。

>hmjre.dllの場合は特に制限は無いです。

hmjre.dllを使用していますので、30個つづけても問題はないのですね?

replaceallfast "(対象と方法|考察・結語|目的|方法|考察|結果|対象|結論|結語|は
じめに|背景)\\f[:;]" , "【\\0】" , regular;

上記のように()でくくった場合は、左から順番に実行されるのでしょうか?
それとも無作為なのでしょうか?

[ ]
RE:23407 ゆうNo.23408
アルビレオ さん 07/08/22 00:17
 
ユーザーのアルビレオです。

>replaceallfast "(対象と方法|考察・結語|目的|方法|考察|結果|対象|結論|結語|は
>じめに|背景)\\f[:;]" , "【\\0】" , regular;
>
>上記のように()でくくった場合は、左から順番に実行されるのでしょうか?
>それとも無作為なのでしょうか?

「ものぐさ指定」をしない限りは「もっとも長いパターンに一致」というルール
になります。
また、(abc|[a-z][a-z][a-z]) のように同じ長さで複数の検索パターンに一致す
る場合、どっちの判定にマッチしたとしても結果は同じ。
だからどういう順番で書いても関係ないということになります。

[ ]
RE:23408 ゆうNo.23409
秀丸担当 さん 07/08/22 10:26
 

>hmjre.dllを使用していますので、30個つづけても問題はないのですね?

はい。問題ないはずです。

>上記のように()でくくった場合は、左から順番に実行されるのでしょうか?
>それとも無作為なのでしょうか?

アルビレオさんの言われる通りで、順番は関係なく長いものからマッチするので、
順番はどこでも同じということになります。

[ ]
RE:23409 ゆうNo.23477
ゆふ さん 07/09/02 18:49
 
返信ありがとうございました!

ながいものからということは
replaceallfast "(目的|方法|対象と方法|考察結語)\\f[:;]" , "【\\0】" , regu
lar;

上記のマクロで言うと、
1対象と方法
2考察結語
3目的
4方法

という順番でよろしいでしょうか?

[ ]
RE:23477 ゆうNo.23479
秀丸担当 さん 07/09/03 09:26
 

>ながいものからということは
>replaceallfast "(目的|方法|対象と方法|考察結語)\\f[:;]" , "【\\0】" , regu
>lar;
>
>上記のマクロで言うと、
>1対象と方法
>2考察結語
>3目的
>4方法
>
>という順番でよろしいでしょうか?

この場合は、重なる文字が無いので、優先順位も何も無いです。

(対|対象|対象と方法)

であれば、優先順位は

1対象と方法
2対象
3対

となります。

[ ]
RE:23479 ゆうNo.23483
Iranoan さん 07/09/04 18:11
 
 秀丸担当さん今日は、Iranoan です。
> >1対象と方法
<snip>
> >4方法
<snip>
> この場合は、重なる文字が無いので、優先順位も何も無いです。
 これについて、一つ質問です。1, 4 は重なっているのでは無いでしょうか?

[ ]
RE:23483 ゆうNo.23484
アルビレオ さん 07/09/04 19:07
 
アルビレオです。

> 秀丸担当さん今日は、Iranoan です。
>> >1対象と方法
><snip>
>> >4方法
><snip>
>> この場合は、重なる文字が無いので、優先順位も何も無いです。
> これについて、一つ質問です。1, 4 は重なっているのでは無いでしょうか?

置換なので1で一致した時点で置換が行われ、次の検索位置は置換された末尾か
らになりますから。
また検索だったら1にヒットして次の検索で4にヒットしますが、同じ検索位置
で同時に成立するわけではないのでやっぱり優先順位は関係ありません。

[ ]
RE:23484 ゆうNo.23519
ゆふ さん 07/09/09 11:20
 
みなさまありがとうございました!

どうしても一番に優先させたい場合はマクロを別に作成したいと思います。

ありがとうございました!

[ ]