我试图检测字符串变量:{ext_1}
或{ext_1alpha}
或{ext_aplpha1}
我的正则表达式:/{ext_(^[0-9,a-z]+$)}/gi
javascript |匹配字母或数字串
var arr = str.match(/{ext_(^[0-9,a-z]+$)}/gi);
但这是错误的。我怎么解决这个问题?
我试图检测字符串变量:{ext_1}
或{ext_1alpha}
或{ext_aplpha1}
我的正则表达式:/{ext_(^[0-9,a-z]+$)}/gi
javascript |匹配字母或数字串
var arr = str.match(/{ext_(^[0-9,a-z]+$)}/gi);
但这是错误的。我怎么解决这个问题?
你有anchors(^
和$
)在正则表达式的中间,他们永远不会匹配。
使用
/\{ext_([A-Z0-9]+)\}/gi
你也不想逗号你的性格类,除非你想在你的字符串匹配实际逗号字符。另外,跳过大括号是个好主意,因为它们在正则表达式中可以有特殊含义。
该工程─
/{ext_([a-z0-9]+)}/gi
值得注意的是,大括号也需要逃避,如图中的改变正则表达式。 :) – UweB
@UweB:不是真的;他们只需要逃避他们可能被误解的地方(这里不是这种情况)。但这样做仍然是一个好习惯。 –
不起作用。这个表达式只能检测到数字:/ {ext _(\ d +)}/gi b,它可以工作,但是我的字符串可以包含数字或字母...... – user889349