2

正規表現は初めてです。このコードは0を返す必要があると思いますか?ただし、1を返します。

echo preg_match( "/ [ac] {2} /"、 "abc");

どうしたの?

4

2 に答える 2

2

正規表現を文字列全体に一致させる場合は、アンカーを使用する必要があります。

echo preg_match( "/^[a-c]{2}$/","abc");
于 2013-03-07T12:35:10.620 に答える
1

提供された文字列の「ab」と一致しています。

php > echo preg_match( "/[a-c]{2}/","ab");                                                                                                                                                                                                                                                                                                                                  
1

[ac] {3}は、基本的にpreg_matchに指定された範囲内の正確に3文字を返すように要求しているため、3つすべてに一致します。

指定した範囲内の3文字を正確に一致させるには:

php > echo preg_match( "/[a-c]{3}/","abc"); 
1

行の開始位置と一致させるには、範囲内に3文字が含まれ、その後終了します。

php > echo preg_match( "/^[a-c]{3}$/","abc");
1
于 2013-03-07T12:29:17.733 に答える