回答編集履歴
1
修正
test
CHANGED
@@ -9,6 +9,12 @@
|
|
9
9
|
これらは特定の「位置」にマッチする正規表現です。
|
10
10
|
|
11
11
|
たとえば `(?=aaa)` は `aaa` の直前にマッチし、`(?<=aaa)` は `aaa` の直後にマッチします。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
つまり `aaa(` の直後から `)` の直前までの `.*`(0 個以上の任意の文字) を検索すればいいわけですが、単純に `.*` と書いてしまうと、最長一致の法則によりたとえば `aaa(bbb) ccc(ddd)` であれば最後の閉じカッコの直前までの `bbb) ccc(ddd` にマッチしてしまいます。
|
16
|
+
|
17
|
+
これを防ぐために `.*` ではなく `.*?` あるいは `[^)]*` と書けば、最初の閉じカッコの直前までにマッチします。
|
12
18
|
|
13
19
|
|
14
20
|
|
@@ -24,4 +30,4 @@
|
|
24
30
|
|
25
31
|
|
26
32
|
|
27
|
-
founds には配列が入るので、そのうち最初の要素を取り出したい時には上記のように `found[0]` を使います。
|
33
|
+
founds には配列が入るので、そのうち最初の要素を取り出したい時には上記のように `founds[0]` を使います。
|