正規表示式是個很不錯的東西,可以讓你使用指定的模式去分析字串,當年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
匹配ip
/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 ...