Java正規表示式

2021-05-27 00:40:15 字數 2006 閱讀 2030

舉例說明:

"^the": 開頭一定要有"the"字串;

"of despair$": 結尾一定要有"of despair" 的字串;

那麼,"^abc$": 就是要求以abc開頭和以abc結尾的字串,實際上是只有abc匹配。

"notice": 匹配包含notice的字串。

你可以看見如果你沒有用我們提到的兩個字元(最後乙個例子),就是說 模式(正規表示式) 可以出現在被檢驗字串的任何地方,你沒有把他鎖定到兩邊。

接著,說說 '*', '+',和 '?',

他們用來表示乙個字元可以出現的次數或者順序. 他們分別表示:

"zero or more"相當於,

"one or more"相當於,

"zero or one."相當於, 這裡是一些例子:

"ab*": 和ab同義,匹配以a開頭,後面可以接0個或者n個b組成的字串("a", "ab", "abbb", 等);

"ab+": 和ab同義,同上條一樣,但最少要有乙個b存在 ("ab", "abbb", 等.);

"ab?":和ab同義,可以沒有或者只有乙個b;

"a?b+$": 匹配以乙個或者0個a再加上乙個以上的b結尾的字串.

要點, '*', '+',和 '?'只管它前面那個字元.

你也可以在大括號裡面限制字元出現的個數,比如

"ab": 要求a後面一定要跟兩個b(乙個也不能少)("abb");

"ab": 要求a後面一定要有兩個或者兩個以上b(如"abb", "abbbb", 等.);

"ab": 要求a後面可以有2-5個b("abbb", "abbbb", or "abbbbb").

現在我們把一定幾個字元放到小括號裡,比如:

"a(bc)*": 匹配 a 後面跟0個或者乙個"bc";

"a(bc)": 乙個到5個 "bc."

還有乙個字元 '│', 相當於or 操作:

"hi│hello": 匹配含有"hi" 或者 "hello" 的 字串;

"(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字串;

"(a│b)*c": 匹配含有這樣多個(包括0個)a或b,後面跟乙個c的字串;

乙個點('.')可以代表所有的單一字元,不包括"\n"

如果,要匹配包括"\n"在內的所有單個字元,怎麼辦?

對了,用'[\n.]'這種模式.

"a.[0-9]": 乙個a加乙個字元再加乙個0到9的數字

"^.$": 三個任意字元結尾 .

中括號括住的內容只匹配乙個單一的字元

"[ab]": 匹配單個的 a 或者 b ( 和 "a│b" 一樣);

"[a-d]": 匹配'a' 到'd'的單個字元 (和"a│b│c│d" 還有 "[abcd]"效果一樣); 一般我們都用[a-za-z]來指定字元為乙個大小寫英文

"^[a-za-z]": 匹配以大小寫字母開頭的字串

"[0-9]%": 匹配含有 形如 x% 的字串

",[a-za-z0-9]$": 匹配以逗號再加乙個數字或字母結尾的字串

你也可以把你不想要得字元列在中括號裡,你只需要在總括號裡面使用'^' 作為開頭 "%[^a-za-z]%" 匹配含有兩個百分號裡面有乙個非字母的字串.

要點:^用在中括號開頭的時候,就表示排除括號裡的字元。為了php能夠解釋,你必須在這些字元面前後加'',並且將一些字元轉義.

不要忘記在中括號裡面的字元是這條規路的例外?在中括號裡面, 所有的特殊字元,包括(''), 都將失去他們的特殊性質 "[*\+?{}.]"匹配含有這些字元的字串.

還有,正如regx的手冊告訴我們: "如果列表裡含有 ']', 最好把它作為列表裡的第乙個字元(可能跟在'^'後面). 如果含有'-', 最好把它放在最前面或者最後面, or 或者乙個範圍的第二個結束點[a-d-0-9]中間的『-』將有效.

看了上面的例子,你對應該理解了吧.要注意的是,n和m都不能為負整數,而且n總是小於m. 這樣,才能 最少匹配n次且最多匹配m次. 如"p"將匹配 "pvpppppp"中的前五個p.

Java正規表示式

正規表示式結構簡介 字元 x 字元 x 反斜槓 0n 十進位制數 0 n 7 0nn 十進位制數 0nn 0 n 7 0mnn 十進位制數 0mnn 0 m 3,0 n 7 xhh 十六進製制數 0xhh uhhhh 十六進製制數 0xhhhh t 製表符 u0009 n 換行符 u000a r 回...

Java正規表示式

方便查詢的東西 基本語法 轉義字元 in d d d 數字0 9 多少到多少 d 非數字 0 9 非 w 單詞字元 a za z0 9 a3 w 非單詞字元 w s 空白 如 n t 0 1次 1 n次 0 n次 必須是n次 大於等於n次 n demo 中文 u0391 uffe5 英文 a za ...

JAVA 正規表示式

size 12px 1。d 匹配非負整數 正整數 0 2。0 9 1 9 0 9 匹配正整數 3。d 0 匹配非正整數 負整數 0 4。0 9 1 9 0 9 匹配負整數 5。d 匹配整數 6。d d 匹配非負浮點數 正浮點數 0 7。0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 ...