2012-06-02 75 views
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) 

(I希望程序分开两个 “阵列” 和 “a” 到不同的线路)

回答

0

这种模式分开 “阵列了” 两种不同的比赛

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

作品也像

"Exam_ple1 a9" 
  • \b字符串限制了单词边界处的模式。 (如果输入文本之间有多个空格,则返回 两个匹配项)
  • 第一个字符应该来自范围A-Za-z或下划线(不是数字)。
  • 以下字符应该来自范围A-Za-z0-9或下划线。
1

在未启用"Array a"的空白匹配。

更好地使用正规像"^[\w_]+ [\w_]+$"

0

^意味着线的顶部
$意味着线
的端 ^ [A-ZA-Z _] [A-ZA-Z0-9 _] * $意味着形式顶部结束

使用@ “[a-zA-Z _] [a-zA-Z0-9 _] *”

相关问题