正規表示式
寫程式常會遇到必須輸入特定規則的字串,否則視為不合法,這時就需要用到正規表示式。
若是使用得宜,可以減少非常大量的比對字串程式,以下為 C# Regular Expression 用法介紹:
語法規則
其規則眾多,但在絕大部分的程式語言中幾乎都通用,以下只列出經常用到的:
Pattern | Description |
---|---|
^ | At start of string or line |
$ | At end (or before \n at end) of string or line |
* | 0 or more times |
+ | 1 or more times |
? | 0 or 1 time |
{n} | Exactly n times |
{n,} | At least n times |
{n,m} | From n to m times |
[a-z] | In the a-z range |
[^a-z] | Not in the a-z range |
. | Any except \n (new line) |
\d | Decimal digit, equal to [0-9] |
\D | Not a decimal digit, equal to [^0-9] |
\w | Word character, equal to [A-Za-z0-9_] |
\W | Non-word character, equal to [^A-Za-z0-9_] |
\s | White-space character, equal to [\f\n\r\t\v] |
\S | Non-white-space char, equal to [^\f\n\r\t\v] |
程式寫法
string str = "My name is Iverson Hong, my number is 3.";
Match match = Regex.Match(str, @"^My name is ([\w\s]+), my number is (\d+).$");
if (match.Success)
{
string name = match.Groups[1].ToString(); // Iverson Hong
string number = match.Groups[2].ToString(); // 3
}