正则表达式基本内容
一 特殊字符
$?? ?匹配輸入字符串的結尾位置。如果設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,請使用 \$。
( )?? ?標記一個子表達式的開始和結束位置。子表達式可以獲取供以后使用。要匹配這些字符,請使用 \( 和 \)。
*?? ?匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*。
+?? ?匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+。
.?? ?匹配除換行符 \n 之外的任何單字符。要匹配 . ,請使用 \. 。
[?? ?標記一個中括號表達式的開始。要匹配 [,請使用 \[。
??? ?匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字符,請使用 \?。
\?? ?將下一個字符標記為或特殊字符、或原義字符、或向后引用、或八進制轉義符。例如, 'n' 匹配字符 'n'。'\n' 匹配換行符。序列 '\\' 匹配 "\",而 '\(' 則匹配 "("。
^?? ?匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。要匹配 ^ 字符本身,請使用 \^。
{?? ?標記限定符表達式的開始。要匹配 {,請使用 \{。
|?? ?指明兩項之間的一個選擇。要匹配 |,請使用 \|。
二 限定符號
*?? ?匹配前面的子表達式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價于{0,}。
+?? ?匹配前面的子表達式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價于 {1,}。
??? ?匹配前面的子表達式零次或一次。例如,"do(es)?" 可以匹配 "do" 、 "does" 中的 "does" 、 "doxy" 中的 "do" 。? 等價于 {0,1}。
{n}?? ?n 是一個非負整數。匹配確定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的兩個 o。
{n,}?? ?n 是一個非負整數。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等價于 'o+'。'o{0,}' 則等價于 'o*'。
{n,m}?? ?m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 將匹配 "fooooood" 中的前三個 o。'o{0,1}' 等價于 'o?'。請注意在逗號和兩個數之間不能有空格。
三 基本匹配示例
1 基本模式
^once
這個模式包含一個特殊的字符^,表示該模式只匹配那些以once開頭的字符串。例如該模式與字符串"once upon a time"匹配,與"There once was a man from NewYork"不匹配。
bucket$
這個模式與"Who kept all of this cash in a bucket"匹配,與"buckets"不匹配。
字符^和$同時使用時,表示精確匹配。
2 常見字符簇匹配
[a-z] //匹配所有的小寫字母?
[A-Z] //匹配所有的大寫字母?
[a-zA-Z] //匹配所有的字母?
[0-9] //匹配所有的數字?
[0-9\.\-] //匹配所有的數字,句號和減號?
[ \f\r\t\n] //匹配所有的白字符
?
總結
- 上一篇: C# 使用公共字段进行窗体传值实例
- 下一篇: 图解基本C语言程序一