正規表達式 (Regular Expression, Regex) 使用單個字串來描述、符合一系列符合某個句法規則的字串。
豎線 |
代表選擇(即或集),具有最低優先級。例如 gray|grey
可以符合grey或gray。
+
代表前面的字元必須至少出現一次。例如,goo+gle
可以符合 google
、gooogle
、goooogle
等?
代表前面的字元最多只可以出現一次。例如,colou?r
可以符合 color
或者 colour
*
代表前面的字元可以不出現,也可以出現一次或者多次。例如,0*42
可以符合 42
、042
、0042
、00042
等。圓括號 ()
可以用來定義運算子的範圍和優先度。例如,gr(a|e)y
等價於 gray|grey
,(grand)?father
符合 father
和 grandfather
。
表達式 | 描述 |
---|---|
\ |
將下一個字元標記為特殊字元 |
^ |
字串開始位置 |
$ |
字串結束位置 |
+ ,? ,* |
詳見基本語法 |
{n} |
指前面的字元出現確定n次 |
{n,} |
指前面的字元出現至少n次 |
{n,m} |
指前面的字元出現至少n次、至多n次 |
. |
符合 \n 、\r 之外的任意字元 |
x|y |
若未使用 () ,範圍為全表達式 |
[abc] |
字元集合,符合所包含的任意一個字元 |
[^abc] |
排除型字元集合,符合未列出的任意一個字元 |
[a-z] |
字元範圍,符合指定範圍內的任意字元 |
[^a-z] |
排除型字元範圍,符合指定範圍內之外的任意字元 |
Algorithm