[C#]用 Regex 做字串比對

用法如下

using System.Text.RegularExpressions;


    public bool IsNumeric(String strNumber)
    {
        Regex NumberPattern = new Regex("[0-9]");
        return NumberPattern.IsMatch(strNumber);

    }

RegExp說明範例
/a/含有字母 a 的字串"a","apple"
/./含有任意字元的字串"aaa","a","嗨"
/a./含有字母 a 後面接一個任意字元的字串"aaa","apple"

*: 出現 0 次以上
?: 出現 0 次或 1 次
+: 出現一次以上
{2}: 出現兩次
{2,}: 出現兩次以上
{,10}: 出現十次以下
{2,5}: 出現兩次到五次
RegExp說明範例
/a*/包含 0 次以上的 a"apple","hello"
/ab*/包含一個 a,後面至少 0 個 b"a","ab"
/a?/包含空字串或一個 a"c","","app"
/123a+/包含 123 後面有一個以上的 a"123a","123app"
/123a{1,2}/包含 123 後面出現一個或兩個 a"1123a","123aaa"

^: 開頭
$: 結尾
RegExp說明範例
/^app/開頭是 app 的字串"app","apple"
/ry$/結尾是 ry 的字串"Larry"
/^abcd$/開頭結尾中間只有 abcd 的字串"abcd"
/^La.*le$/開頭是 La 尾巴是 le 的字串"Larry loves apple"

[]: 括號內的任何字元
[^]: 不在括號內的任何字元
RegExp說明範例
/^[aeiou]/開頭是小寫母音的字串"apple","oh"
/[^aeiouAEIOU]$/結尾不是母音的字串"Larry","ok"
/^[aeiou]{3}$/三個小寫母音組成的字串"aaa","aeu"
/^[^aeiou]*$/不包含小寫母音的字串"hEllO","ApplE"
/[0-9]/含數字的字串"app1e","123"
/[a-z]/含小寫字母的字串"12a45","aaa"
/^[^a-zA-Z]$/不含英文字母的字串"123","345"

\.: "." 這個字元,直接寫 /./ 會被判斷成任意字元
\+: "+" 這個字元,類似的還有 \?, \*
\(: "(" 這個字元,類似的還有 \), \[, \]
\\: "\" 這個字元
\d: 任何數字字元,等同 [0-9]
\D: 任何非數字字元,等同 [^0-9]
\w: 任何數字字母底線,等同 [A-Za-z0-9_]
\W: 任何非數字字母底線,等同 [^A-Za-z0-9_]
\s: 任何空白字元(空白,換行,tab),等同 [ \f\n\r\t\v]
\S: 任何非空白字元(空白,換行,tab),等同 [^ \f\n\r\t\v]

實例

RegExp說明範例
/^\d{4}-\d{2}-\d{2}$/西元生日格式"1996-08-06"
/^[A-Z]\d{9}$/身分證字號"A123456789"
/^09\d{8}$/手機號碼"0912345678"
/^[^aeiou]*$/不包含小寫母音的字串"hEllO","ApplE"
/^.*@gmail\.com$/gmail 信箱"test@gmail.com"
/^[0-9\+\-\*\/]*$/四則運算算式"1+2*3"

沒有留言:

張貼留言

[DataSet Bug]無法啟用條件約束。一或多個資料列的值違反非 Null、唯一或外部索引鍵條件約束

在使用TableAdapter作Query時發生 1. 原因為有些資料欄位Query出來後為null值 但是該欄位在dbDataSet的屬性AllowDBNull為False 因此把該欄位(或乾脆把全部欄位屬性AllowDBNull改為True 2. maxLength 檢...