-1

phpで使用する正規表現をevolveにしようとしましたが、1文字のグループを追加すると、正規表現で一致するものが見つかりなくなりました。

以前のバージョンは次のとおりです。

$pattern = '{\{[0-9]+[a-z][0,1][0,1]\}}';

{010c10}や{009c10}のような一致する文字列。

次に、[0,1]文字を追加し、正規表現を次のように調整して、一致する文字列を進化させることにしました。

$pattern = '{\{[0-9]+[a-z][0,1][0,1][0,1]\}}';

ただし、正規表現は{010c100}のような文字列とは一致しなくなり、その理由はわかりません。

4

2 に答える 2

1
// match short versions, such as {010c10}
$pattern = '/\{\d+[a-z][0,1]{2}\}/'; 

// match long versions, such as {010c100}
$pattern = '/\{\d+[a-z][0,1]{3}\}/'; 

// match short and/or long versions
$pattern = '/\{\d+[a-z][0,1]{2,3}\}/'; 
于 2012-07-22T14:50:02.470 に答える
0

このパターンを使用する\{\d+[a-z][01]{3}\}

于 2012-07-22T14:34:32.670 に答える