0

文字列の例を次に示します。修正する必要があるものは他にもたくさんあります。

"måde", "answer" => "råd");

この文字列には、文字 å の 2 つのインスタンスがあります。mådeの å を無視しながら、正規表現を使用してrådの å に一致するものを見つけたいと思います。

したがって、基本的には å after の出現の一致を見つける必要がありますanswer

私はそれ(?<=answer)å(?=\;)がうまくいくと思っていましたが、私はこれに本当に慣れていないので、誰かが私を正しい方向に向けることができれば非常に感謝しています.

以前にこの質問をしようとしましたが、何らかの理由で反対票を投じられたので、ここで再定式化しようとしました。十分に明確であることを願っています。

4

2 に答える 2

3

後読みは (通常) 可変長にすることはできませんが、否定的な先読みを使用して、一致しないものを指定します。

 å(?!.*answer)

これは "å" に一致しますが、"answer" がその後に現れない場合に限ります。

于 2015-02-02T13:57:46.580 に答える
1

(?<=answer.*?)å(?=.*?;)動作するはずです(セミコロンをエスケープする必要はないと思いますが、アプリケーションによっては再度エスケープする必要がある場合があります)。

基本的に:先読み/後読みは、現在の位置で「一致」します。

編集: 多くの正規表現エンジン (Sublime Text 2 を含む) は、先読み/後読みアサーションの量指定子を好みません。代わりに使用(?<=answer).*?å.*?(?=;)し、結果の一致を 2 番目の正規表現で検索します。

于 2015-02-02T13:43:08.777 に答える