我试图制作一个我使用php evolve的正则表达式,但是通过添加一个额外的单字符组,正则表达式不再找到任何匹配。
以前的版本是:
$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}这样的字符串 ,我真的不明白为什么。
答案 0 :(得分: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}\}/';
答案 1 :(得分:0)
使用此模式\{\d+[a-z][01]{3}\}