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

回答編集履歴

1

追記

2015/07/27 01:53

投稿

ngyuki
ngyuki

スコア4516

answer CHANGED
@@ -6,6 +6,22 @@
6
6
  要するに文字列の終端です。ただし、文字列の終端が改行の場合、改行の直前でもマッチします。
7
7
  複数行モードだと各行の終わりにマッチします。
8
8
 
9
+ ```php
10
+ <?php
11
+ // 通常は文字列の終端のために用いされますが
12
+ var_dump(preg_match('/c$/', "abc")); // int(1)
13
+
14
+ // 終端に改行があってもマッチします
15
+ var_dump(preg_match('/c$/', "abc\n")); // int(1)
16
+
17
+ // 複数行モードでは各行の終端にもマッチします
18
+ var_dump(preg_match('/c$/m', "a\nb\nc\nd\n")); // int(1)
19
+
20
+ // 文字列の終端なら \z の方がより適切です
21
+ var_dump(preg_match('/c\z/', "abc\n")); // int(0)
22
+ var_dump(preg_match('/c\z/m', "a\nb\nc\nd\n")); // int(0)
23
+ ```
24
+
9
25
  ---
10
26
 
11
27
  `/`
@@ -21,7 +37,7 @@
21
37
  `u`
22
38
 
23
39
  http://php.net/manual/ja/reference.pcre.pattern.modifiers.php
24
- > この修正子は、Perl 非互換な PCRE の機能を有効にします。パターンと対象文字列は、 UTF-8 として処理されます。
40
+ > この修正子は、Perl 非互換な PCRE の機能を有効にします。パターンと対象文字列は、 UTF-8 として処理されます。
25
41
 
26
42
  修飾子です。パターン文字列が UTF-8 として処理されます。
27
- 文字列を UTF-8 で扱うならとりあえず付けておくと良いです。
43
+ 文字列を UTF-8 で扱うならとりあえず付けておくと良いです。