2012-06-02 76 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 _] *」

相關問題