return preg_match("/^\S+[\s ]{1}\S+$/u", $value);
この正規表現の $/u はどういう意味になりますか
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
$/uは三つ別々の意味です。
$は行の終端にマッチ
/は最初の/と対でデリミタ
uはutf8で処理
の意味です。
http://php.net/manual/ja/reference.pcre.pattern.modifiers.php
投稿2015/07/27 05:57
総合スコア162
0
ベストアンサー
$
http://php.net/manual/ja/regexp.reference.meta.php
検索対象の終わりあるいは終端の改行文字の前(複数行モードでは行の終わり)を言明
要するに文字列の終端です。ただし、文字列の終端が改行の場合、改行の直前でもマッチします。
複数行モードだと各行の終わりにマッチします。
php
1<?php 2// 通常は文字列の終端のために用いされますが 3var_dump(preg_match('/c$/', "abc")); // int(1) 4 5// 終端に改行があってもマッチします 6var_dump(preg_match('/c$/', "abc\n")); // int(1) 7 8// 複数行モードでは各行の終端にもマッチします 9var_dump(preg_match('/c$/m', "a\nb\nc\nd\n")); // int(1) 10 11// 文字列の終端なら \z の方がより適切です 12var_dump(preg_match('/c\z/', "abc\n")); // int(0) 13var_dump(preg_match('/c\z/m', "a\nb\nc\nd\n")); // int(0)
/
http://php.net/manual/ja/regexp.reference.delimiters.php
PCRE 関数を使うときには、パターンを delimiters で囲まなければなりません。
正規表現のパターンを囲うデリミタです。
先頭の /
とペアで囲われた範囲が正規表現のパターンになります。
u
http://php.net/manual/ja/reference.pcre.pattern.modifiers.php
この修正子は、Perl 非互換な PCRE の機能を有効にします。パターンと対象文字列は、 UTF-8 として処理されます。
修飾子です。パターン文字列が UTF-8 として処理されます。
文字列を UTF-8 で扱うならとりあえず付けておくと良いです。
投稿2015/07/27 01:43
編集2015/07/27 01:53総合スコア4514
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。