- 追加された行はこの色です。
- 削除された行はこの色です。
* 戻り読みの式に量指定子でエラー [#beee5bf2]
-ページ: [[BugReport]]
-投稿者: [[anonymous]]
-投稿者: [[いさお]]
-優先順位: 普通
-状態: 提案
-状態: 完了
-カテゴリー: 正規表現
-投稿日: 2013-09-19 (木) 23:31:31
-バージョン: 2.1.0.0
** メッセージ [#j4e9ee7b]
【再現手順】
検索ダイアログで
(?<=\w+)\W
を検索する
【結果】
「正規表現エラー」ダイアログに黄色三角!アイコンと、下記メッセージ
「invalid pattern in look-behind」
【バージョン】
sakura.exe 2.1.0.0
bregoning.dll Ver.3.05 with Onigmo 5.13.5
【参考1】
戻り読みの式中に、「n個以上」のような不定数の量指定子があると、処理できない模様。
例示した + 以外にも * ? {n,} など全て駄目です。{n}は問題なし。
(?<=Function\s+)\w+
の様に、VBの関数名にヒットさせることを想定。
【参考2】
先読み
\W(?=\w+)
では問題なし。
例えば
End(?=\s+Function)
は End Function の End にのみヒットする。
----
- 投稿者 の記入を忘れました;; 失礼しました。 -- [[いさお]] &new{2013-09-19 (木) 23:32:31};
- バグではなく正規表現エンジンの仕様による制限です。鬼車では戻り読みの中でマッチ長さが可変であるパターンは指定できないことになっています(※固定長のパターンを|でつなぐことはできる)。鬼雲ベースの比較的新しい bregonig.dllですと戻り読みの代わりに \K が使用できますが、サクラエディタでは検索か置換で漏れが出ます(現在までの版で特に対策がなされていなければ)。 -- &new{2013-09-20 (金) 17:33:12};
- 確認&ご説明ありがとうございます。 -- [[いさお]] &new{2013-09-24 (火) 01:33:17};
- 仕様ということで完了にしました -- &new{2015-02-24 (火) 20:48:23};
#comment
#attach