質問するログイン新規登録

回答編集履歴

1

追記

2018/01/10 06:50

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -20,4 +20,37 @@
20
20
  (!?値段.*.)値
21
21
  ^ ここが否定先読みの次のパターンである「値」の位置にあたる部分
22
22
  ______ この範囲が今チェックしようとしている位置の直前までの部分
23
+ ```
24
+
25
+ ---
26
+ 追加3について
27
+
28
+ 比較の様子を「処理になぞらえて」理解するのもよいのですが、どちらかといえば宣言的に理解した方がよいというのが自分の考えです。
29
+
30
+ 何度も例を変更して申し訳ないですが・・・
31
+
32
+ 正規表現に含まれる連続したパターン..., A , B, ...がありBが先読みでも後読みでもないとして...
33
+
34
+
35
+ ```text
36
+ Aが先読みパターン:
37
+ ...|x|x|x|x|x|... <=照合対象の文字列
38
+ ^ Aを照合するまでの照合対象位置がここだとすると
39
+ ^_ _ ... Aは^の位置から始まる部分文字列と照合する。
40
+ ^_ _ ... BはAと同じ位置から照合される
41
+ (要するにAの照合によりBの照合位置は変わらない)
42
+
43
+ Aが後読みパターン:
44
+ ...|x|x|x|x|x|x|... <=照合対象の文字列
45
+ ^ Aを照合するまでの照合対象位置がここだとすると
46
+ ... _ _$ Aは$の位置で終わる部分文字列と照合する。
47
+ ^_ _ ... BはAの照合位置の次の位置から照合される
48
+ (要するにAの照合によりBの照合位置は変わらない)
49
+
50
+ Aが先読みでも後読みでもないパターン:
51
+ ...|x|x|x|x|x|x|... <=照合対象の文字列
52
+ ^ Aを照合するまでの照合対象位置がここだとすると
53
+ ^_ ... _$ Aは^の位置から始まる部分文字列と照合する。
54
+ ^_ _ ... BはAの照合位置の末尾の位置から照合される
55
+
23
56
  ```