【发布时间】:2015-09-17 07:54:09
【问题描述】:
我必须检查几个包含字母数字子字符串的字符串,并且可能包含括号中的列表,其中条目由“:”分隔
例子:
"this(is:an:example)"
"thisAsWell"
首先,我搜索 alphasubstring 和列表,然后将列表分解为一个数组。
.match(/([a-z]*)\((.*)\)/)
.spit(":")
适用于同时包含字母数字和列表的字符串,但如果缺少一个则不行。
例子:
// .match(...)
"abc"
-> [ "abc" , null , null ]
"abc(1,2,3)"
-> [ "abc(1,2,3)" , "abc" , "1:2:3" ]
"(1:2:3)"
-> [ "(1:2:3)" , null , null ]
如何最好地处理它,检查两个子字符串可选? 我正在考虑可能的回报,例如:
"abc"
-> [ "abc" , "abc" , null ]
"abc(1,2,3)"
-> [ "abc(1,2,3)" , "abc" , "1:2:3" ]
"(1:2:3)"
-> [ "(1:2:3)" , null , "1:2:3" ]
如果可能的话,超棒的答案会根据正则表达式拆分列表。
【问题讨论】:
-
使用
?:“匹配前面的字符0或1次。”
标签: javascript regex match