前提条件:
[numbers]
[vip]111,222[vip]
[standard]333[standard]
[numbers]
私が欲しいもの:[数字]の間のすべてを見つける問題:このテキストが1行にある場合、解決策は簡単です
(?<=\[numbers\])(.*?)(?=\[numbers\])
でも改行が前提条件にあるような場合に検索できるのでしょうか?
前提条件:
[numbers]
[vip]111,222[vip]
[standard]333[standard]
[numbers]
私が欲しいもの:[数字]の間のすべてを見つける問題:このテキストが1行にある場合、解決策は簡単です
(?<=\[numbers\])(.*?)(?=\[numbers\])
でも改行が前提条件にあるような場合に検索できるのでしょうか?
提示された問題に正規表現は実際には必要ありません。awk
レコード区切りを設定するだけで十分です。
awk 1 RS='\\[numbers\\]\n' ORS=''
出力:
[vip]111,222[vip]
[standard]333[standard]
ほとんどの正規表現では、ドット (.) は ON THE LINE を表します。
「何でも」の式を使用して、行末をスキャンできます。次に例を示します。
(?<=\[数字\]) ( [\d\D]*? ) (?=\[数字\])
[\d\D] は「数字であるすべて、または数字ではないすべて」を表すため