正则表达式与特殊字符元字符匹配

时间:2013-10-12 03:38:28

标签: javascript regex match

我正在尝试匹配某些字符串,而我必须转义一些特殊字符,但它仍然无法正确匹配。

我有这个

 var first=/.+?(?=\[)/i

仍然匹配整个字符串,只需匹配第一个[

这是字符串业务[account]

我还需要匹配商家和匹配帐户。它是用于稍后用于获取对象符号的插件。每个元素都有不同的属性。

2 个答案:

答案 0 :(得分:2)

对于这么简单的事情,前瞻并不是必需的。尝试使用这样的字符类:

var first = /[^[]+/

这将匹配除 [以外的任何字符中的一个或多个。

如果您希望将其设置为可以匹配"business[account]"字符串的两个部分的正则表达式,请尝试以下操作:

/([^[]+)\[([^\]]+)\]/

这将匹配在第1组中捕获的 [以外的任何字符中的一个或多个,后跟[,后跟一个或多个任何字符< em> {<1>}以外的其他人,在第2组中捕获,然后是]

E.g。

]

答案 1 :(得分:2)

你快到了;只需添加组(带括号)即可匹配您想要的内容:

var m = /(.+?)\[(.+?)\]/.exec("business[account]");
console.log("variable: " + m[1], "index: " + m[2]);