私はこれを持っています:
aaa(bbb)
これを使用して一致(bbb)
するもの:
\(.*?\)
一致させたいaaa
ので、「正先読みアサーション」を試しました。これは動作しません。
(\(.*?\))(?=\()
の前の文字を一致させるにはどうすればよい(
ですか?
私はこれを持っています:
aaa(bbb)
これを使用して一致(bbb)
するもの:
\(.*?\)
一致させたいaaa
ので、「正先読みアサーション」を試しました。これは動作しません。
(\(.*?\))(?=\()
の前の文字を一致させるにはどうすればよい(
ですか?
これを試して、
.*(?=\()
RegexBuddy スクリーンショット
実際には先読みは必要ないように思えます。[^(]*
最初の前のすべてに一致させるために使用できます(
^([^(]*)
それとの内容を取得するには、既存のキャプチャ グループ()
を追加します。(.*?)
^([^(]*)\((.*?)\)
(\(.*?\))(?=\()
^^ ^^
これらは、"aaa" を括弧で囲むことを強制します (その後にシェルが左括弧に続きます)。あなたがしたいようです
/(.+?)(?=\(.*?\))/
単純に一致させてから、一致をand/(aaa)(\(bbb\))/
で参照してみませんか?$1
$2