1. 干嘛的:用于描述這些規則的工具。記錄文本規則的代碼。
2. 解決什么問題:查找符合某些復雜規則的字符串的需要。
3. 符號
*:任意字符串 ? ? ? ? \b :單詞分界處,只匹配一個位置。
. :除了換行符以外的任意字符。 ? \d : 匹配一個數字
{number} : 前面的字符連續重復number次。
\s :任意的空白符,包括空格,制表符(Tab),換行符,中文全角空格等。
\w:匹配字母或數字或下劃線或漢字等。
^ : 匹配字符串的開始
$: 匹配字符串的結束
字符轉義: \ + 字符
* :重復零次或更多次
+ :重復一次或更多次
? :重復零次或一次
{n} :重復n次
{n,}:重復n次或更多次
{n,m}:重復n到m次
I? : 分支條件。如果滿足其中任意一種規則都應該當成匹配
() : 子表達式,分組。可作為一個整體處理。
\W :匹配任意不是字母,數字,下劃線,漢字的字符
\S:匹配任意不是空白符的字符
\D:匹配任意非數字的字符
\B:匹配不是單詞開頭或結束的位置
[^x]:匹配除了x以外的任意字符
[^aeiou]:匹配除了aeiou這幾個字母以外的任意字符
后向引用: 用于重復搜索前面某個分組匹配的文本。有組號,也可以自己制定組名。
(?<Word>\w+):把\w+的組名指定為Word了.
反向引用這個分組捕獲的內容,你可以使用\k<Word>
查找在某些內容(但并不包括這些內容)之前或之后的東西:零寬斷言