0

前提条件:

[numbers]
[vip]111,222[vip]
[standard]333[standard]
[numbers]

私が欲しいもの:[数字]の間のすべてを見つける問題:このテキストが1行にある場合、解決策は簡単です

(?<=\[numbers\])(.*?)(?=\[numbers\])

でも改行が前提条件にあるような場合に検索できるのでしょうか?

4

2 に答える 2

0

提示された問題に正規表現は実際には必要ありません。awkレコード区切りを設定するだけで十分です。

 awk 1 RS='\\[numbers\\]\n' ORS=''

出力:

[vip]111,222[vip]
[standard]333[standard]
于 2012-09-07T16:33:03.013 に答える
0

ほとんどの正規表現では、ドット (.) は ON THE LINE を表します。

「何でも」の式を使用して、行末をスキャンできます。次に例を示します。

(?<=\[数字\]) ( [\d\D]*? ) (?=\[数字\])

[\d\D] は「数字であるすべて、または数字ではないすべて」を表すため

于 2012-09-07T16:00:01.367 に答える