正确的时候匹配括号不应该

Joh*_*ohn 2 javascript c# regex tags

随着输入:

"一个[HREF*= \" 测试\ "]"

我试图匹配以下jQuery选择器中的标记名称:

Regex r = new Regex("^[A-z]+");
string tagName = r.Match("a[href*=\"test\"]").Value;
Run Code Online (Sandbox Code Playgroud)

问题是它收集左括号而不是A到z:

tagName ="a [href"

如果未在表达式中指定括号,为什么会收集括号?

eld*_*his 10

这是因为这个

[A-z]
Run Code Online (Sandbox Code Playgroud)

创建从ASCII"A"到ASCII"z"的字符范围.Z和a之间有字母以外的字符,其中一个是[字符.改为使用:

[A-Za-z]
Run Code Online (Sandbox Code Playgroud)

匹配范围A-Z 范围a-z,但不匹配它们之间的字符.您可以查看ASCII表以查看详细信息,但摘要是字符(按其数字ASCII顺序)如下所示:

A, B, ..., Y, Z, [, \, ], ^, _, `, a, b, c, ..., z
Run Code Online (Sandbox Code Playgroud)