正規表示式是個很不錯的東西,可以讓你使用指定的模式去分析字串,當年perl通過提供了類似正規表示式的功能後來獨步武林,好不風光(不過現在主流程式語言都提供了正規表示式功能),不過它好像看起來比較古怪而且複雜,而且要記住那些操作符好像比較困難,所以從網上蒐集了並整理了一下,方便自己也方便你,是吧!:
. (匹配任何單個字元。例如正規表示式r.t匹配這些字串:rat、rut、r t,但是不匹配root) $
(匹配行結束符。例如正規表示式weasel$ 能夠匹配字串"he's a weasel"的末尾,但是不能匹配字串"they are a bunch of weasels."。) ^
(匹配一行的開始。例如正規表示式^when in能夠匹配字串"when in the course of human events"的開始,但是不能匹配"what and when in the"。) *
(匹配0或多個正好在它之前的那個字元。例如正規表示式.*意味著能夠匹配任意數量的任何字元。) \
(這是引用符,用來將這裡列出的這些元字元當作普通的字元來進行匹配。例如正規表示式\$被用來匹配美元符號,而不是行尾,類似的,正規表示式\.用來匹配點字元,而不是任何字元的萬用字元)
[ ] [c1-c2] [^c1-c2]
( 匹配括號中的任何乙個字元。例如正規表示式r[aou]t匹配rat、rot和rut,但是不匹配ret。可以在括號中使用連字元-來指定字元的區間,例如正規表示式[0-9]可以匹配任何數字字元;還可以制定多個區間,例如正規表示式[a-za-z]可以匹配任何大小寫字母。另乙個重要的用法是「排除」,要想匹配除了指定區間之外的字元——也就是所謂的補集——在左邊的括號和第乙個字元之間使用^字元,例如正規表示式[^269a-z] 將匹配除了2、6、9和所有大寫字母之外的任何字元。)
\< \>
(匹配詞(word)的開始(\<)和結束(\>)。例如正規表示式\能夠匹配字串"for the wise"中的"the",但是不能匹配字串"otherwise"中的"the"。注意:這個元字元不是所有的軟體都支援的。)
\( \)
(將 \( 和 \) 之間的表示式定義為「組」(group),並且將匹配這個表示式的字元儲存到乙個臨時區域(乙個正規表示式中最多可以儲存9個),它們可以用 到 的符號來引用。) |
(將兩個匹配條件進行邏輯「或」(or)運算。例如正規表示式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:這個元字元不是所有的軟體都支援的。) +
(匹配1或多個正好在它之前的那個字元。例如正規表示式9+匹配9、99、999等。注意:這個元字元不是所有的軟體都支援的。) ?
(匹配0或1個正好在它之前的那個字元。注意:這個元字元不是所有的軟體都支援的。)
\ \
(匹配指定數目的字元,這些字元是在它之前的表示式定義的。例如正規表示式a[0-9]\ 能夠匹配字元"a"後面跟著正好3個數字字元的串,例如a123、a348等,但是不匹配a1234。而正規表示式[0-9]\ 匹配連續的任意4個、5個或者6個數字字元。注意:這個元字元不是所有的軟體都支援的。)
匹配中文字元的正規表示式:
[\u4e00-\u9fa5]
匹配雙位元組字元(包括漢字在內):
[^\x00-\xff]
(乙個雙位元組字元長度計2,ascii字元計1)
匹配空白行的正規表示式:
\n\s*\r
匹配手機號碼:
^(1[358][0-9])[0-9]$
匹配html標記的正規表示式:
<(\s*?)[^>]*>.*?|<.*? />
(也僅僅能匹配部分)
匹配首尾空白字元的正規表示式:
^\s*|\s*$
匹配email位址的正規表示式:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配**url的正規表示式:
[a-za-z]+://[^\s]*
匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):
^[a-za-z][a-za-z0-9_]$
匹配國內**號碼:
\d-\d|\d-\d
[1-9][0-9]
[1-9]\d(?!\d)
匹配身份證:
\d|\d
\d+\.\d+\.\d+\.\d+
匹配特定數字:
^[1-9]\d*$
//匹配正整數
^-[1-9]\d*$
//匹配負整數
^-?[1-9]\d*$
//匹配整數
^[1-9]\d*|0$
//匹配非負整數(正整數 + 0)
^-[1-9]\d*|0$
//匹配非正整數(負整數 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
//匹配正浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
//匹配負浮點數
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
//匹配浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
//匹配非負浮點數(正浮點數 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
//匹配非正浮點數(負浮點數 + 0)
匹配特定字串:
^[a-za-z]+$
//匹配由26個英文本母組成的字串
^[a-z]+$
//匹配由26個英文本母的大寫組成的字串
^[a-z]+$
//匹配由26個英文本母的小寫組成的字串
^[a-za-z0-9]+$
//匹配由數字和26個英文本母組成的字串
^\w+$
//匹配由數字、26個英文本母或者下劃線組成的字串
測試方法:
string mailurl ="
^[1-9]\\d*$";
system.out.println(pattern.matches(mailurl,
"1213
"));
正規表示式收集
1.驗證使用者名稱和密碼 a za z w 正確格式 a z a z 0 9 組成,並且第乙個字必須為字母6 16位 2.驗證 號碼 d d 正確格式 x x xx 3.驗證身份證號 15位或18位數字 d d 5.只能輸入由數字和26個英文本母組成的字串 a za z0 9 6.整數或者小數 0 ...
正規表示式 收集
匹配中文字元的正規表示式 u4e00 u9fa5 匹配雙位元組字元 包括漢字在內 x00 xff 匹配空白行的正規表示式 n s r 匹配html標記的正規表示式 s 匹配首尾空白字元的正規表示式 s s 匹配email位址的正規表示式 w w w w w w 匹配 url的正規表示式 a za z...
正規表示式收集
正規表示式用於字串處理 表單驗證等場合,實用高效,movable type的搜尋功能中也可以使用,以遠高效於簡單邏輯關係的關鍵字快速定位到站點內的某一文章。下面是 drl的兄弟整理了一些常用的表示式,需要用之時查閱一時,強勝於啥都需要時才另外開始想。匹配中文字元的正規表示式 u4e00 u9fa5 ...