web-dev-qa-db-ja.com

Notepad ++非欲張り正規表現

Notepad ++は欲張りでない正規表現をサポートしていますか?

テキストの例:

abcxadc

パターンを使用してパーツを取得したい:

a.+c

そして今、私は2つの部分の代わりに文字列全体を取得します。 「?」を使用しようとしました演算子ですが、成功しません。

53
UGEEN

Notepad ++は、遅延?修飾子をサポートしていません。代わりに、do n't欲しいものを指定できます:

a[^c]+c

aに一致し、その後にcではない1つ以上の文字が続き、その後にcが続く。これは、abcadcに一致します。

43

更新:バージョン5.9(ビルド時間2011年3月31日)から、Notepad ++は貪欲でない正規表現をサポートします(新しいscintilla 2.5)

57
UGEEN

Notepad ++ V6.1.5で次のことを行いました(現在はPCRE正規表現エンジンがあります)。

a。+?c

そして2つの部分を得た(abcadc

遅延(貪欲でない)検索が可能になりました。

48
user1584660

不要な部分のログファイルをクリーンアップしている間、「すべて置換」と空の「置換」パターンで貪欲でない正規表現を使用するのに問題がありました。私の解決策は、残りの行を変更せずにパターンを行全体に一致させることでした。

例:最初のセミコロンまでのすべての行の先頭を削除します:_^.+?:_の代わりに-> ^.+?:(.*)$-> _\1_を使用して、[すべて置換]を押します

0
SebastianH