我有以下文字。 [帐户]&安培; [1] 我想从此字符串中仅检索帐户。我写了这样的正则表达式。
var rexp = /\[[a-z][A-Z]\]/g;
var matchStr = id.match(rexp);
但它不起作用。这有什么不对吗?请帮帮我。
答案 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]
),它们位于方括号[
内并且]
。