以字母/_开头且(可能)后面跟着字母/数字/_的字符串正则表达式

3
为什么这个正则表达式不能匹配字符串 "Array a"?
let mutable line = "Array a"
let regexIdentifier = new Regex("^[a-zA-Z_][a-zA-Z0-9_]*$")   
line <- regexIdentifier.Replace(line, "\r\n$&\r\n")   //KEYWORDS separation
Console.WriteLine(line)   

我希望程序能够将"Array"和"a"分别放在不同的行中。
3个回答

1

"Array a" 中的空格不匹配。

最好使用类似于 "^[\w_]+ [\w_]+$" 的正则表达式


0

^ 表示行首
$ 表示行尾
^[a-zA-Z_][a-zA-Z0-9_]*$ 表示从行首到行尾的格式

使用 @"[a-zA-Z_][a-zA-Z0-9_]*"


0

这个模式将“Array a”分为两个不同的匹配项

string rPattern = @"\b[A-Za-z_][A-Za-z_0-9]+\b";

同样适用于字符串

"Exam_ple1 a9"
  • \b 限制模式在单词边界处匹配。(这将返回两个匹配项,即使输入文本中有多个空格)
  • 第一个字符应该是 A-Za-z 范围内的字母或下划线(不能是数字)。
  • 接下来的字符应该是 A-Za-z0-9 范围内的字母或下划线。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接