在正则表达式中查找文本

时间:2012-04-25 09:09:51

标签: regex

我有以下文字。 [帐户]&安培; [1] 我想从此字符串中仅检索帐户。我写了这样的正则表达式。

var rexp =  /\[[a-z][A-Z]\]/g;
var matchStr = id.match(rexp);

但它不起作用。这有什么不对吗?请帮帮我。

2 个答案:

答案 0 :(得分:2)

/\[[a-z][A-Z]\]/完全匹配一个小写字符(a-z),后跟一个大写字符(A-Z)。相反,请考虑/\[[a-zA-Z]+\]/,其评估为“一个或多个大写或小写字符。”

i标记(不区分大小写)可以与[a-z][A-Z] /\[[a-z]+\]/gi完全相同。

答案 1 :(得分:1)

您需要将其更改为:\[[a-zA-Z]+\]/g

在当前的正则表达式中,您希望匹配小写字符串后跟大写字符串。由于您要匹配的字符串以大写字母开头,后跟更多小写字母,因此您的正则表达式将无效。

我建议的正则表达式应匹配由一个或多个(+运算符)字母组成的任何字符串(小写和大写[a-zA-Z]),它们位于方括号[内并且]