我有下一个字符串-"#Value# #value2# (#value3#) .. #valueN#"
我需要编写一个正则表达式来获取数组["Value", "#value2#", "#value3#", "valueN"]
接下来,我尝试了:
var regexp = /#([A-z]+)#/gi;
var string = "#Value# #value2# (#value3#) .. #valueN#";
string.match(regexp);
但是我只获得字符串中表达式的第一个和最后一个条目,但是我需要获取所有条目。
请注意,整个字符串会随时间变化,我需要获取
#
符号之间的所有文本条目。谢谢。
最佳答案
正则表达式缺少数字部分([0-9]
或\d
):
> "#Value# #value2# (#value3#) .. #valueN#".match(/#[a-z\d]+#/ig)
["#Value#", "#value2#", "#value3#", "#valueN#"]
顺便说一句,
/[A-z]/
不仅匹配字母,而且匹配Z
和a
之间的字符:[
,\
,]
,^
,_
,`
。小心!/[A-z]/.test('[')
true
也许您是说
/[A-Za-z]/
或/[A-Z]/i
或/[a-z]/i
吗?关于javascript - 正则表达式,字符串中#valueN#的所有条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20328128/