(|)のまくろについてNo.24800
YU さん 08/04/18 15:11
 
先ほどはお世話になりました
以下のマクロでおかしくなります。

replaceallfast "[「『[{《(〔〈<]\\f(おわりに|事例紹介|入院経過|結果考察|
結果と考察|研究方法|研究結果|背景と目的|対象と方法|対象・方法|方法・結果|結
果・考察|症例と方法|背景・目的|結論および考察|結果および考察|経過および結果|
目的|方法|考察|結果|対象|結論|結語|はじめに|まとめ|背景|症例|緒言|文献|成績|
経過|事例)\\f[」』]}》)〕〉>]" , "【\\1】" , regular;

(|)での数の制限はないとのことでしたが、実行しますと

【】となり\\1の部分は削除されてしまいます。
なにがいけないのかご教授くださいお願いします。

[ ]
RE:24800 (|)のまくろについてNo.24802
秀丸担当 さん 08/04/18 16:01
 

>先ほどはお世話になりました
>以下のマクロでおかしくなります。
>
>replaceallfast "[「『[{《(〔〈<]\\f(おわりに|事例紹介|入院経過|結果考察|
>結果と考察|研究方法|研究結果|背景と目的|対象と方法|対象・方法|方法・結果|結
>果・考察|症例と方法|背景・目的|結論および考察|結果および考察|経過および結果|
>目的|方法|考察|結果|対象|結論|結語|はじめに|まとめ|背景|症例|緒言|文献|成績|
>経過|事例)\\f[」』]}》)〕〉>]" , "【\\1】" , regular;
>
>(|)での数の制限はないとのことでしたが、実行しますと
>
>【】となり\\1の部分は削除されてしまいます。
>なにがいけないのかご教授くださいお願いします。

やってみたところ、こちらでは、固まってしまいました。
調べてみたところ、\fでの区切りを計算するときに文字列の長さが長すぎるのが
原因のようです。

検索文列は、250文字くらいの上限があり、検索ダイアログボックスにこの検索
文字列を入れてみると、
「警告:文字列の上限に達しています」
と出るので、ここで確認できます。

安全なのは、検索ダイアログボックスで確認してみて、この文字数を超えない文
字列を指定するのが安全です。
このケースの場合は、二回に分けてみることをお勧めします。


上限はあるものの、内部的にはこの上限を超えてもある程度できるように緩和し
ていたのですが、\fでの区切りでまだ上限があったため、このケースでは問題で
した。

他の回避策としては、\fを使わずに以下のようにすることです。
\fを使わない方法は、ヘルプの「一般的正規表現互換のタグ付き正規表現」を参
照 してみてください。
こちらは\fで区切る処理を通らないので一応動きました。
ただ、上限は超えているので、二回に分けるのよりは安全ではないです。

replaceallfast "[「『[{《(〔〈<](おわりに|事例紹介|入院経過|結果考察|
結果と考察|研究方法|研究結果|背景と目的|対象と方法|対象・方法|方法・結果|結
果・考察|症例と方法|背景・目的|結論および考察|結果および考察|経過および結果|
目的|方法|考察|結果|対象|結論|結語|はじめに|まとめ|背景|症例|緒言|文献|成績|
経過|事例)[」』]}》)〕〉>]" , "【\\1】" , regular;



[ ]
RE:24802 (|)のまくろについてNo.24803
YU さん 08/04/18 16:18
 
ありがとうございます。

>検索文列は、250文字くらいの上限があり、検索ダイアログボックスにこの検索
>文字列を入れてみると、
>「警告:文字列の上限に達しています」
>と出るので、ここで確認できます。
↑こちらで検索を実行しますと
「警告:文字列の上限に達しています」
という警告がでなくて、検索します
警告を出すように設定し直しが必要でしょうか?
現在はvistaの6.14を使用中です

>安全なのは、検索ダイアログボックスで確認してみて、この文字数を超えない文
>字列を指定するのが安全です。
↑検索の文字を調べてみたら182文字でした、250文字以下ですがどうしてでしょうか?


[ ]
RE:24803 (|)のまくろについてNo.24804
秀丸担当 さん 08/04/18 16:25
 

>↑こちらで検索を実行しますと
>「警告:文字列の上限に達しています」
>という警告がでなくて、検索します
>警告を出すように設定し直しが必要でしょうか?
>現在はvistaの6.14を使用中です

V6.14だと、なぜか出ませんね。申し訳ありません。
最新版のV7.08だと出ました。
文字数は、半角1文字、全角2文字で計算してください。

あと、固まってしまうのは問題なので、次のバージョンでは固まらないように修
正させていただきます。

[ ]
RE:24804 (|)のまくろについてNo.24805
YU さん 08/04/18 16:38
 
ありがとうございます。

バージョンを最新版にした方がいいのでしょうか?
そして、検索を一度ためしてメッセージがでるか確認した方がいいですか?

でも最新版は250文字より多いマクロを作成してしまうと固まってしまうんですよ
ね。。。
現段階ではバージョンをあげないで、検索の文字を計算しマクロを組んだ方がいいん
でしょうか?

>
>>↑こちらで検索を実行しますと
>>「警告:文字列の上限に達しています」
>>という警告がでなくて、検索します
>>警告を出すように設定し直しが必要でしょうか?
>>現在はvistaの6.14を使用中です
>
>V6.14だと、なぜか出ませんね。申し訳ありません。
>最新版のV7.08だと出ました。
>文字数は、半角1文字、全角2文字で計算してください。
>
>あと、固まってしまうのは問題なので、次のバージョンでは固まらないように修
>正させていただきます。

[ ]
RE:24805 (|)のまくろについてNo.24806
秀丸担当 さん 08/04/18 16:43
 

>バージョンを最新版にした方がいいのでしょうか?
>そして、検索を一度ためしてメッセージがでるか確認した方がいいですか?
>
>でも最新版は250文字より多いマクロを作成してしまうと固まってしまうんですよ
>ね。。。
>現段階ではバージョンをあげないで、検索の文字を計算しマクロを組んだ方がいいん
>でしょうか?

一番いいのは、バージョンを上げたとしても、\fを使わなかったとしても、常に
250文字より少ない文字にしておくことが最良だと思います。

[ ]
RE:24806 (|)のまくろについてNo.24807
YU さん 08/04/18 16:53
 
ありがとうございます。
現在ではバージョンアップしないで、検索文字の数の確認を再度行う方法にします。

>
>>バージョンを最新版にした方がいいのでしょうか?
>>そして、検索を一度ためしてメッセージがでるか確認した方がいいですか?
>>
>>でも最新版は250文字より多いマクロを作成してしまうと固まってしまうんですよ
>>ね。。。
>>現段階ではバージョンをあげないで、検索の文字を計算しマクロを組んだ方がいいん
>>でしょうか?
>
>一番いいのは、バージョンを上げたとしても、\fを使わなかったとしても、常に
>250文字より少ない文字にしておくことが最良だと思います。

[ ]