看看这个小提琴http://jsfiddle.net/yeXWv/
在这里,我想分割以[*
或[*#
开头并以*]
结尾的字符。当前正则表达式拆分以[*#
开头而不是[*
的字符串。我尝试过以下模式,
/(\[\*\#*[a-zA-Z0-9]+\*\])/g
/(\[\*\#{0,1}[a-zA-Z0-9]+\*\])/g
提前致谢。
答案 0 :(得分:4)
尝试将哈希字符设为可选:
/(\[\*\#?[a-zA-Z0-9 ]+\*\])/g
编辑:添加了缺少的空格: - )
答案 1 :(得分:3)
你忘了允许空格,这是真正的问题 - 而不是缺少的#字符。
/(\[\*\#?[a-zA-Z0-9 ]+\*\])/g
这将保留输出数组中的[*...*]
字符串。要省略它们,请删除括号:
/\[\*\#?[a-zA-Z0-9 ]+\*\]/g