-1

我试图制作一个与 php 一起使用的正则表达式演变,但通过添加一个额外的单字符组,正则表达式不再找到任何匹配项。

以前的版本是:

$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 回答