BugReport/134 のバックアップ(No.5)




戻り読みの式に量指定子でエラー

  • ページ: BugReport
  • 投稿者: いさお?
  • 優先順位: 普通
  • 状態: 提案
  • カテゴリー: 正規表現
  • 投稿日: 2013-09-19 (木) 23:31:31
  • バージョン: 2.1.0.0

メッセージ

【再現手順】 検索ダイアログで (?<=\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 にのみヒットする。


  • 投稿者 の記入を忘れました;; 失礼しました。 -- いさお? 2013-09-19 (木) 23:32:31
  • バグではなく正規表現エンジンの仕様による制限です。鬼車では戻り読みの中でマッチ長さが可変であるパターンは指定できないことになっています(※固定長のパターンを|でつなぐことはできる)。鬼雲ベースの比較的新しい bregonig.dllですと戻り読みの代わりに \K が使用できますが、サクラエディタでは検索か置換で漏れが出ます(現在までの版で特に対策がなされていなければ)。 -- 2013-09-20 (金) 17:33:12
  • 確認&ご説明ありがとうございます。 -- いさお? 2013-09-24 (火) 01:33:17

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White
[添付ファイル一覧] [全ページの添付ファイル一覧]
アップロード可能最大ファイルサイズは 2,048KB です。

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS