我有一个下一个字符串 - "#Value# #value2# (#value3#) .. #valueN#"
我需要编写一个regexp来获取数组["Value", "#value2#", "#value3#", "valueN"]
我接下来试过了:
var regexp = /#([A-z]+)#/gi;
var string = "#Value# #value2# (#value3#) .. #valueN#";
string.match(regexp);
但是我只得到字符串中表达式的第一个和最后一个条目,但我需要获取所有条目。
请注意,整个字符串可以随时更改,我需要在#
个符号之间获取所有文本条目。
任何进步的Thx。
答案 0 :(得分:4)
正则表达式缺少数字部分([0-9]
或\d
):
> "#Value# #value2# (#value3#) .. #valueN#".match(/#[a-z\d]+#/ig)
["#Value#", "#value2#", "#value3#", "#valueN#"]
BTW,/[A-z]/
不仅匹配字母,还匹配Z
和a
之间的字符:[
,\
,]
,{ {1}},^
,_
。小心!
`
也许您的意思是/[A-z]/.test('[')
true
或/[A-Za-z]/
或/[A-Z]/i
?