27

最初の文字列は[image:salmon-v5-09-14-2011.jpg] です。

「salmon-v5-09-14-2011.jpg」というテキストをキャプチャし、GSkinner の RegEx ツールを使用したいと思います。

目的の出力に最も近いのは、次の RegEx を使用することです。

:([\w+.-]+)

問題は、このシーケンスにコロンが含まれており、出力が次のようになることです。

:salmon-v5-09-14-2011.jpg

コロンなしで目的の出力をキャプチャするにはどうすればよいですか。助けてくれてありがとう!

4

3 に答える 3

69

後読みを使用します。

(?<=:)[\w+.-]+

後読み ( としてコード化(?<=someregex)) はゼロ幅の一致であるため、一致をアサートしますが、キャプチャはしません。

また、正規表現は次のように簡略化できる場合があります。

(?<=:)[^\]]+

これは単に a:と a の間 (ただし a を含まない) を取得します。]

于 2012-05-26T19:08:22.607 に答える
6

常にその形式の文字列を見ている場合は、次のパターンを使用します。

(?<=\[image:)[^\]]+

これは の後ろを見て[image:、最後まで一致します]

于 2012-05-26T19:09:51.103 に答える
1

使用しているツールだけが、キャプチャ グループだけでなく、一致全体を強調表示する正しい正規表現を持っています。試合にカーソルを合わせて、「グループ 1」が実際に何であるかを確認します。

もう少し堅牢な正規表現が必要な場合は、ファイル名部分に表示される:([^\]]+)以外の文字を許可するものを試すことができます。]

于 2012-05-26T18:57:04.920 に答える