當前位置:首頁 » 編程語言 » java正則表達式非

java正則表達式非

發布時間: 2022-06-14 23:08:10

java中什麼是正則表達式

正則表達式 就是將一個類型的數據 按照一定方式 寫成正則表達式的形式 這樣可以辨別數據是否符合這一類型的數據 比如我們的身份證號碼 就是有一定的規則的 這樣我們寫一個 正則表達式 和別人輸入的身份證號碼 比對 如果符合這個正則表達式的規則 就是身份證號碼

② java正則表達式是什麼

在程序開發中,難免會遇到需要匹配、查找、替換、判斷字元串的情況發生,而這些情況有時又比較復雜,如果用純編碼方式解決,往往會浪費程序員的時間及精力。因此,學習及使用正則表達式,便成了解決這一矛盾的主要手段。

正則表達式是一種可以用於模式匹配和替換的規范,一個正則表達式就是由普通的字元(例如字元a到z)以及特殊字元(元字元)組成的文字模式,它 用以描述在查找文字主體時待匹配的一個或多個字元串。正則表達式作為一個模板,將某個字元模式與所搜索的字元串進行匹配。

(2)java正則表達式非擴展閱讀:

正則表達式的特點是:

1、靈活性、邏輯性和功能性非常強;

2、可以迅速地用極簡單的方式達到字元串的復雜控制。

3、對於剛接觸的人來說,比較晦澀難懂。

由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。

③ Java正則表達式如何表示否定

正則表達式在[ ]內使用^可以表示否定,但是這個否定指定是非[ ]內的任一字元,而不是字元串
比如[^abc]+,這樣一個正則匹配的是:非a非b且非c的一個或多個字元。匹配1、34、dd、f、sd12……,不能匹配 abc、a11、ab32、abd……
如果想表達 非abc,但是abd、abe、bcd等可以匹配,在正則中是沒有類似 !abc 這樣的寫法的。只能通過其他方式去變通的匹配,比如寫成[^a].{2}|a[^b].|ab[^c]。
以上 針對所有語言的正則表達式寫法,java在內。

④ Java正則表達式問題

\\D是匹配一個非數字,\\D*是匹配0個或多個非數字,盡可能多,(\\D*)是將匹配到的所有非數字捕獲到分組1以供需要時訪問

\\d是匹配一個數字,\\d+是匹配1個或多個數字,盡可能多,(\\d+)是將匹配到的所有數字捕獲到分組2以供需要時訪問。

.是匹配任意一個字元,.*是匹配0個或多個任意字元,盡可能多,(.*)是將匹配到的多個任意字元捕獲到分組3以供需要時訪問。

m.group(下標)是訪問上面捕獲到的分組,下標0對應整個捕獲,下標1對應捕獲到的分組1,下標2對應捕獲到的分組2,以此類推。

所以,m.group(0)就是整個字元串,m.group(1)就是3000前面的所有字元,m.group(2)就是3000,m.group(3)就是3000後面的所有字元。

⑤ java 正則表達式是什麼

不同情況下的正則表達式:

  • 匹配首尾空格的正則表達式:(^s*)|(s*$)。

  • 匹配html標簽的正則表達式:<(.*)>(.*)</(.*)>|<(.*)/>。

  • 配空行的正則表達式: [s| ]* 。

  • 整數或者小數:^[0-9]+.{0,1}[0-9]{0,2}$。

  • 只能輸入數字:"^[0-9]*$"。

  • 只能輸入n位的數字:"^d{n}$"。

  • 只能輸入至少n位的數字:"^d{n,}$"。

  • 只能輸入m~n位的數字:。"^d{m,n}$"

  • 只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。

  • 只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。

  • 只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。

  • 只能輸入非零的正整數:"^+?[1-9][0-9]*$"。

  • 只能輸入非零的負整數:"^-[1-9][]0-9"*$。

  • 只能輸入長度為3的字元:"^.{3}$"。

  • 只能輸入由26個英文字母組成的字元串:"^[A-Za-z]+$"。

  • 只能輸入由26個大寫英文字母組成的字元串:"^[A-Z]+$"。

  • 只能輸入由26個小寫英文字母組成的字元串:"^[a-z]+$"。

  • 只能輸入由數字和26個英文字母組成的字元串:"^[A-Za-z0-9]+$"。

  • 只能輸入由數字、26個英文字母或者下劃線組成的字元串:"^w+$"。

  • 驗證用戶密碼:"^[a-zA-Z]w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字元、數字和下劃線。

  • 驗證是否含有^%&',;=?$"等字元:"[^%&',;=?$x22]+"。

  • 只能輸入漢字:"^[u4e00-u9fa5]{0,}$"。

  • 驗證Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。

  • 驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。

  • 驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。

  • 匹配中文字元的正則表達式: [u4e00-u9fa5]。

  • 匹配雙位元組字元(包括漢字在內):[^x00-xff]。

  • 應用:計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1)String.prototype.len=function(){returnthis.replace(/[^x00-xff]/g,"aa").length;}。

⑥ java正則表達式,如何表示一個非某個字元的匹配

在方括弧內用^符號表示排除某個字元,使用示例如下:

publicstaticvoidmain(String[]args){
Stringregex="[^a]*";//匹配一個不包含字母a的字元串

booleanhasA="abcd".matches(regex);//結果為false
System.out.println(hasA);
hasA="bcd".matches(regex);//結果為true
System.out.println(hasA);

}

注意:如果不在方括弧內使用表示匹配輸入字元串的開始位置。

⑦ java 正則表達式截取非數字

如果把數字截取掉後只是字母那就可以這樣辦:
匹配字母:[a-zA-z]*
意思是字母的組合出現一次或兩次;
如果後面的不僅是字母還有別的東西的話 ,那就截取前面數字好了,
匹配不是數字,-,和小數點的組合就好了,如下:
[^\\d\\-\\.]*

希望對你有幫助:)

⑧ java中非中文的正則表達式是什麼

非中文 [^\u4e00-\u9fa5]


中文的正則表達式是[\u4e00-\u9fa5]

其他正則表達式

字元類
[abc] a、b 或 c(簡單類)
[^abc] 任何字元,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,兩頭的字母包括在內(范圍)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](並集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](減去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](減去)
以上在java中使用時用雙引號將它們括起來就可以了

預定義字元類
. 任何字元(與行結束符可能匹配也可能不匹配)
\d 數字:[0-9] (單個數字)
\D 非數字: [^0-9]
\s 空白字元:[ \t\n\x0B\f\r]
\S 非空白字元:[^\s]
\w 單詞字元:[a-zA-Z_0-9]
\W 非單詞字元:[^\w]
以上在java中使用時除了將它們用雙引號括起來以為,還須加\轉義,例如\d的實際用法是」\\d「

POSIX 字元類(僅 US-ASCII)

\p{Lower} 小寫字母字元:[a-z]
\p{Upper} 大寫字母字元:[A-Z]
\p{ASCII} 所有 ASCII:[\x00-\x7F]
\p{Alpha} 字母字元:[\p{Lower}\p{Upper}]
\p{Digit} 十進制數字:[0-9]
\p{Alnum} 字母數字字元:[\p{Alpha}\p{Digit}]
\p{Punct} 標點符號:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph} 可見字元:[\p{Alnum}\p{Punct}]
\p{Print} 可列印字元:[\p{Graph}\x20]
\p{Blank} 空格或製表符:[ \t]
\p{Cntrl} 控制字元:[\x00-\x1F\x7F]
\p{XDigit} 十六進制數字:[0-9a-fA-F]
\p{Space} 空白字元:[ \t\n\x0B\f\r]

以上字元串要加雙引號和反斜杠號Greedy 數量詞

X? X,一次或一次也沒有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超過 m 次

用法也是將它們用雙引號括起來


Logical 運算符

XY X 後跟 Y
X|Y X 或 Y
(X) X,作為捕獲組

用法也是將它們用雙引號括起來

注意:正則表達式則有在方法參數明確是以正則表達式為參考時才使用,否則如果方法參數是普通字元序列時是不起作用的。
(引自網路和書籍)

⑨ java正則表達式判斷一個字元串是否是非負整數

滿足以下兩個表達式之一都可以:

^d+$或^[1-9]d*|0$

示例:

importjava.util.regex.*;
classRegexExample1{
publicstaticvoidmain(Stringargs[]){
Stringcontent="987546";
Stringpattern="^d+$";
booleanisMatch=Pattern.matches(pattern,content);
System.out.println("字元串中是否是非負整數?"+isMatch);
}}

⑩ java正則表達式

正則表達式定義了字元串的模式。
正則表達式可以用來搜索、編輯或處理文本。
正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。
Java正則表達式和Perl的是最為相似的。
java.util.regex包主要包括以下三個類:
Pattern類:
pattern對象是一個正則表達式的編譯表示。Pattern類沒有公共構造方法。要創建一個Pattern對象,你必須首先調用其公共靜態編譯方法,它返回一個Pattern對象。該方法接受一個正則表達式作為它的第一個參數。
Matcher類:
Matcher對象是對輸入字元串進行解釋和匹配操作的引擎。與Pattern類一樣,Matcher也沒有公共構造方法。你需要調用Pattern對象的matcher方法來獲得一個Matcher對象。
PatternSyntaxException:
PatternSyntaxException是一個非強制異常類,它表示一個正則表達式模式中的語法錯誤。

熱點內容
玩和平精英的時候伺服器發呆了怎麼辦 發布:2025-04-05 11:02:40 瀏覽:382
怎麼把蘋果的號轉到安卓手機上 發布:2025-04-05 10:39:05 瀏覽:533
存儲核心架構瓶頸已被攻破 發布:2025-04-05 10:38:27 瀏覽:308
空間新演算法 發布:2025-04-05 10:33:21 瀏覽:708
蜀門和遠征哪個配置低 發布:2025-04-05 10:23:50 瀏覽:288
linux下jdk的安裝 發布:2025-04-05 10:12:20 瀏覽:70
單機江湖腳本 發布:2025-04-05 10:08:32 瀏覽:767
愛奇藝離線緩存怎麼傳藍牙 發布:2025-04-05 10:00:48 瀏覽:143
阿里雲伺服器內存超頻 發布:2025-04-05 10:00:48 瀏覽:578
如何登錄pubg國際服安卓手機 發布:2025-04-05 09:40:07 瀏覽:414