1

私はこれを持っています:

aaa(bbb)

これを使用して一致(bbb)するもの:

\(.*?\)

一致させたいaaaので、「正先読みアサーション」を試しました。これは動作しません。

(\(.*?\))(?=\()

の前の文字を一致させるにはどうすればよい(ですか?

4

4 に答える 4

3

これを試して、

   .*(?=\()

RegexBuddy スクリーンショット

ここに画像の説明を入力

于 2012-09-27T02:31:17.670 に答える
2

実際には先読みは必要ないように思えます。[^(]*最初の前のすべてに一致させるために使用できます(

^([^(]*)

それとの内容を取得するには、既存のキャプチャ グループ()を追加します。(.*?)

^([^(]*)\((.*?)\)
于 2012-09-27T02:30:46.937 に答える
0
(\(.*?\))(?=\()
 ^^  ^^

これらは、"aaa" を括弧で囲むことを強制します (その後にシェルが左括弧に続きます)。あなたがしたいようです

/(.+?)(?=\(.*?\))/
于 2012-09-27T02:35:09.223 に答える
0

単純に一致させてから、一致をand/(aaa)(\(bbb\))/で参照してみませんか?$1$2

于 2012-09-27T02:29:55.730 に答える