Java常用Regex備份,javaRegex

來源:互聯網
上載者:User

Java常用Regex備份,javaRegex

記錄下項目中用到測試通過的Regex,備忘。

1、 

規則:4-30為字元、數字包括“-”,“_”特殊字元 

正則:^[0-9-_a-zA-Z]{4,30}$

2、

規則:6-20位字元,至少包括字母和數位兩種,並區分大小寫

正則:^(?![a-zA-Z]+$)(?![0-9]+$)[a-zA-Z0-9]{6,20}$

3、

規則:100的整數倍

正則:^[1-9][0-9]*0{2}$

4、手機號 

規則:第一位是1,共11位

正則:^1\d{10}$

規則:11位元字

正則:^\d{11}$

5、非空判斷

規則:輸入不可為空

正則:^[^\\s]+$

6、

規則:8-20位由數字、字母、底線、標點組成,必須含有數字和字母,不能含有中文或全形字元

正則:^(?![a-zA-Z]+$)(?![0-9]+$)[a-zA-Z1-9\u0000-\u00FF]{8,20}$

7、

規則:最多14位且不能為0(小數點後最多3位元字)

正則:(?!^0$)(?!^[0]{2,})(?!^0[1-9]+)(?!^0\.[0]*$)^\d{1,10}(\.\d{1,3})?$

8、

規則:不能包含小數

正則:(?!^0*$)^\d{1,14}$|^[0-9{1,2}(,[0-9{3}){0,4}$|^[0-9{1,3}(,[0-9{3}){0,3}$

9、

規則:不能小於0.01(小數點後最多兩位小數)

正則:(?!^0$)(?!^[0]{2,})(?!^0[1-9]+)(?!^0\.[0]*$)^(([1-9]+[0-9]*)|0)(\.\d{1,2})?$

10、

規則:入大於等於100的整數

正則:^[1-9]+[0-9]+[0-9]+$

11、

規則:最多14位(小數點後最多2位元字) 可以為0

正則:(?!^[0]{2,})(?!^0[1-9]+)(?!^\.[0]*$)^\d{1,11}(\.\d{1,2})?$


歡迎補充、討論。


JAVARegex代碼

\S{6,18}
以下是常用的Regex希望能幫到你。
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]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮點數
8。^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮點數(負浮點數 + 0)
9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配負浮點數
10。^(-?\d+)(\.\d+)?$  //匹配浮點數
11。^[A-Za-z]+$  //匹配由26個英文字母組成的字串
12。^[A-Z]+$  //匹配由26個英文字母的大寫組成的字串
13。^[a-z]+$  //匹配由26個英文字母的小寫組成的字串
14。^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字串
15。^\w+$  //匹配由數字、26個英文字母或者底線組成的字串
16。^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址
17。^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url
18。匹配中文字元的Regex: [\u4e00-\u9fa5]
19。匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
20。應用:計算字串的長度(一個雙位元組字元長度計2,ASCII字元計1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
21。匹配空行的Regex:\n[\s| ]*\r
22。匹配HTML標記的Regex:/<(.*)>.*<\/\1>|<(.*) \/>/
23。匹配首尾空格的Regex:(^\s*)|(\s*$)...餘下全文>>
 
javaRegex

^ 和 $ 他們是分別用來匹配字串的開始和結束,以下分別舉例說明:

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

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

那麼,

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

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

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

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

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

"zero or more"相當於{0,},
"one or more"相當於{1,},
"zero or one."相當於{0,1}, 這裡是一些例子:
"ab*": 和ab{0,}同義,匹配以a開頭,後面可以接0個或者N個b組成的字串("a", "ab", "abbb", 等);
"ab+": 和ab{1,}同義,同上條一樣,但最少要有一個b存在 ("ab", "abbb", 等.);
"ab?":和ab{0,1}同義,可以沒有或者只有一個b;
"a?b+$": 匹配以一個或者0個a再加上一個以上的b結尾的字串.
要點, '*', '+',和 '?'只管它前面那個字元.

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

"ab{2}": 要求a後面一定要跟兩個b(一個也不能少)("abb");
"ab{2,}": 要求a後面一定要有兩個或者兩個以上b(如"abb", "abbbb", 等.);
"ab{3,5}": 要求a後面可以有2-5個b("abbb", "abbbb", or "abbbbb").
現在我們把一定幾個字元放到小括弧裡,比如:

"a(bc)*": 匹配 a 後面跟0個或者一個"bc";
"a(bc){1,5}": 一個到5個 "bc."
還有一個字元 '│', 相當於OR 操作:

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

"(b│cd)ef": 匹配含有 "bef......餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.