這裡在正則表達式中用到的^、$、[0-9]都被稱為元數據(metacharacter),正則表達式都是由多元表達式組成的。在這裡,^表示一個字符串的開頭,$表示一個字符換的結尾,因此^198表示以198開頭的字符串,而[0-9]$則表示以0-9的數字結尾的字符串。因此整體上’^198[0-9]$’就能匹配所有1980-1989的字符串。
正則表達式中常用到的元數據(metacharacter)如下:
1.
^ 匹配字符串的開頭位置。
2.
$ 匹配支付傳的結尾位置。
3.
* 匹配該字符前面的一個字符0次,1次或者多次出現。例如52*oracle 可以匹配
5oracle,52oracle,522oracle,5222oracle等等。
4.
+ 匹配該字符前面的一個字符1次或者多次出現。例如52+oracle 可以匹配
52oracle,522oracle,5222oracle等等
5.
? 匹配該字符前面的一個字符0次或1次或者多次出現。例如52?oracle 只能匹配5oracle,52oracle等等
6. {n} 匹配一個字符串n次,n為正整數。例如:hel{2}o 所匹配的是hello
7.
{n,m} 匹配一個字符串至少n次,至多m次。其中n和m都是整數。
匹配除了null之外的任何單個字符串
8.
(pattern) 這個是用來匹配指定模式的一個子表達式
9.
x|y 匹配x或者y,其中x和y是一個或者多個字符
10. [abc] 匹配括號中的任意一個字符。例如:[ab]bc可以匹配abc和bbc
11. [a-z] 匹配指定範圍內的任意字符串。例如[A-G]hi可以匹配Ahi至Ghi
12.
[::]指定一個字符類,可以匹配該類中的任意字符 這裡的字符類包括:
• [:alphanum:] 可以匹配字符0-9、A-Z、a-z
• [:alpha:]可以匹配字符A-Z、a-z
•
[:blank:]可以匹配空格或者tab鍵
• [:digit:]可以匹配數字 0-9
•
[:gragh:]可以匹配非空字符
•
[:punct:]可以匹配. , ” ‘等標點符號。
• [:upper:]可以匹配字符A-Z
•
[:lower:]可以匹配字符a-z
沒有留言:
張貼留言