标签: javascript regex match
我正在尝试检测字符串变体:{ext_1}或{ext_1alpha}或{ext_aplpha1} 我的正则表达式:/{ext_(^[0-9,a-z]+$)}/gi
{ext_1}
{ext_1alpha}
{ext_aplpha1}
/{ext_(^[0-9,a-z]+$)}/gi
var arr = str.match(/{ext_(^[0-9,a-z]+$)}/gi);
但这是错误的。我该如何解决这个问题?
答案 0 :(得分:2)
您在正则表达式中间有anchors(^和$),但他们无法匹配。
^
$
使用
/\{ext_([A-Z0-9]+)\}/gi
除非您想要匹配字符串中的实际逗号字符,否则您也不希望在角色类中使用逗号。此外,逃避花括号是一个好主意,因为它们在正则表达式中具有特殊含义。
答案 1 :(得分:1)
这有效 -
/{ext_([a-z0-9]+)}/gi
答案 2 :(得分:1)
试试这个
/{ext_([[:alnum:]]+)}/
see here