-1

私はいくつかの正規表現の概念の基本を分析しています。式の先頭で使用される「^」記号は何らかの値で始まり、式の最後で使用される「$」は特定の値で終わり、それらが一緒に使用される場合は「^exp$」それを知っていますexp でのみ一致できます。しかし、Yii では次のようなルールを宣言しているときに

私たちが与える数字だけを許可するため

public function rules()
{                        array('value', 'match', 'pattern' => '/^[0-9-]+$/u','message' => "Incorrect symbols (A-z) ."), }

ルールの末尾に「/u」と「/」を使用している理由を知りたいだけです。友よありがとう。

4

1 に答える 1

3

先頭/と末尾/uは Yii とは何の関係もありません。

これらは、PHP で正規表現を作成するために使用される構文に由来します。

PHP で正規表現を作成するには、正規表現を 2 セットの区切り文字で囲みます。通常、使用される区切り文字は記号のペアですが、英数字以外、バックスラッシュ、空白文字以外の/任意の文字のペアを区切り文字として使用できます。

/^[0-9]+$/u
^--------^
These two are the delimiters used to create the regular expression

についてはu、終了デリミタの後に来るものはすべて正規表現修飾子と呼ばれ、正規表現エンジンのさまざまなオプションを構成するために使用されます。

/^[0-9]+$/u
         ^---------
         Anything from here on is a regular expression modifier

u正規表現エンジンがパターンを文字の Unicode 文字列として処理できるようにします。これは、Unicode テキストの照合に使用している Unicode 文字がパターンに含まれている場合に役立ちます。

PHPでの正規表現の基本を理解するには、正規表現に関する PHP リファレンス ドキュメントを参照してください。

于 2013-09-28T08:16:24.137 に答える