[英]Regex Matching Square Brackets Within Square Brackets Google Spreadsheet
[英]Regex Matching - Content within brackets
这是一个快速的问题,我只是不知道许多正则表达式的技巧,也找不到关于这一点的文档:
可以说我有字符串:
'I know [foo] and [bar] about Regex'
我想做一个JS Regex模式,使每个括号封装组成一个数组。 结果:
['[foo]', '[bar]']
我目前有:
str.match(/\[(.*)\]/g);
但这返回:
'[foo] and [bar]'
谢谢。
str.match(/\[(.*?)\]/g);
使用?
使*
量词为非贪婪的修饰符。 非贪婪的量词将匹配可能的最短字符串,而不是最长的字符串,这是默认设置。
使用此代替:
var str = 'I know [foo] and [bar] about Regex';
str.match(/\[([^\[\]]*)\]/g);
由于(.*)
,您的正则表达式部分错误,这使您的模式允许[
和]
之间的任何字符,包括[
和]
。
尝试
var array = 'I know [foo] and [bar] about Regex'.match(/(\[[^\]]+\])/g)
使用此代替:
\\[[^\\]]+\\]
由于(.*)
,您的正则表达式部分错误,这使您的模式允许[
和]
之间的任何字符,包括[
和]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.