java正則表達式匹配
Ⅰ java如何用正則表達式完成字元串的匹配
String str="111.111.222.1"; //你要匹配的字元串
String regex = "\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}";//正則表達式
if (str.matches(regex)) {//字元串 滿足條件
}
Ⅱ java正則表達式的使用
Java 正則表達式和 Perl 的是最為相似的,正則表達式就是規則表達式。
Java中正則表達式與之前使用的Python是有區別的,區別在於Java對於反斜線(\)處理的不同。 在Python中」\d」表示 匹配一位數字(0-9),而Java中匹配一位數字(0-9),需要的正則表達式為」\\d」。 不過換行符和製表符只需要單反斜線「\n\t」。
正則表達式定義了字元串的模式。可以用來搜索、編輯或處理文本。不僅限於某一種語言,但是在每種語言中有細微的差別。
Ⅲ Java中什麼是正則表達式
正則表達式 就是將一個類型的數據 按照一定方式 寫成正則表達式的形式 這樣可以辨別數據是否符合這一類型的數據 比如我們的身份證號碼 就是有一定的規則的 這樣我們寫一個 正則表達式 和別人輸入的身份證號碼 比對 如果符合這個正則表達式的規則 就是身份證號碼
Ⅳ 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正則表達式匹配
java里的正則表達式默認只匹配一行
若要支持匹配換行符,在建Pattern時使用兩個參數的那個方法,加上參數Pattern.DOTALL
Pattern p = Pattern.compile("\\d+.{1,2}\\d{2}:\\d{2};\\d{2},\\d{3}",Pattern.DOTALL);
Ⅵ java正則表達式是什麼
在程序開發中,難免會遇到需要匹配、查找、替換、判斷字元串的情況發生,而這些情況有時又比較復雜,如果用純編碼方式解決,往往會浪費程序員的時間及精力。因此,學習及使用正則表達式,便成了解決這一矛盾的主要手段。
正則表達式是一種可以用於模式匹配和替換的規范,一個正則表達式就是由普通的字元(例如字元a到z)以及特殊字元(元字元)組成的文字模式,它 用以描述在查找文字主體時待匹配的一個或多個字元串。正則表達式作為一個模板,將某個字元模式與所搜索的字元串進行匹配。
(6)java正則表達式匹配擴展閱讀:
正則表達式的特點是:
1、靈活性、邏輯性和功能性非常強;
2、可以迅速地用極簡單的方式達到字元串的復雜控制。
3、對於剛接觸的人來說,比較晦澀難懂。
由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。
Ⅶ java正則表達式如何匹配某個字元串之前的字元串
java正則提取需要用到Matcher類,下面給出案例示例供參考
需要提取車牌號中最後一個數字,比如說:蘇A7865提取5,蘇A876X提取6
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test {public static void main(String[] args) {String s = "A876X";// 把要匹配的字元串寫成正則表達式,然後要提取的字元使用括弧括起來// 在這里,我們要提取最後一個數字,正則規則就是「一個數字加上大於等於0個非數字再加上結束符」Pattern pattern = Pattern.compile("(\\d)[^\\d]*$");Matcher matcher = pattern.matcher(s);if(matcher.find())System.out.println(matcher.group(1));}}
關於Matcher 中的幾個方法說明:
Mathcer.start()
Matcher.end()
Matcher.group()
當使用matches(),lookingAt(),find()執行匹配操作後,就可以利用以上三個方法得到更詳細的信息. start()返回匹配到的子字元串在字元串中的索引位置. end()返回匹配到的子字元串的最後一個字元在字元串中的索引位置. group()返回匹配到的子字元串
示例代碼如下,具體功能請參考注釋
Pattern p=Pattern.compile(「\d+」); Matcher m=p.matcher(「aaa2223bb」); m.find();//匹配2223 m.start();//返回3 m.end();//返回7,返回的是2223後的索引號 m.group();//返回2223Mathcer m2=p.matcher(「2223bb」); m2.lookingAt(); //匹配2223 m2.start(); //返回0,由於lookingAt()只能匹配前面的字元串,所以當使用lookingAt()匹配時,start()方法總是返回0 m2.end(); //返回4 m2.group(); //返回2223Matcher m3=p.matcher(「2223」); //如果Matcher m3=p.matcher(「2223bb」); 那麼下面的方法出錯,因為不匹配返回false m3.matches(); //匹配整個字元串 m3.start(); //返回0 m3.end(); //返回3,原因相信大家也清楚了,因為matches()需要匹配所有字元串 m3.group(); //返回2223
另外,Mathcer類中start(),end(),group()均有一個重載方法它們是start(int i),end(int i),group(int i)專用於分組操作,Mathcer類還有一個groupCount()用於返回有多少組.
示例如下:
Pattern p=Pattern.compile(「([a-z]+)(\d+)」); Matcher m=p.matcher(「aaa2223bb」); m.find(); //匹配aaa2223 m.groupCount(); //返回2,因為有2組 m.start(1); //返回0 返回第一組匹配到的子字元串在字元串中的索引號 m.start(2); //返回3 m.end(1); //返回3 返回第一組匹配到的子字元串的最後一個字元在字元串中的索引位置. m.end(2); //返回7 m.group(1); //返回aaa,返回第一組匹配到的子字元串 m.group(2); //返回2223,返回第二組匹配到的子字元串
注意: 只有當匹配操作成功,才可以使用start(),end(),group()三個方法,否則會拋出java.lang.IllegalStateException,也就是當matches(),lookingAt(),find()其中任意一個方法返回true時,才可以使用。
Ⅷ java正則表達式
正則表達式定義了字元串的模式。
正則表達式可以用來搜索、編輯或處理文本。
正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。
Java正則表達式和Perl的是最為相似的。
java.util.regex包主要包括以下三個類:
Pattern類:
pattern對象是一個正則表達式的編譯表示。Pattern類沒有公共構造方法。要創建一個Pattern對象,你必須首先調用其公共靜態編譯方法,它返回一個Pattern對象。該方法接受一個正則表達式作為它的第一個參數。
Matcher類:
Matcher對象是對輸入字元串進行解釋和匹配操作的引擎。與Pattern類一樣,Matcher也沒有公共構造方法。你需要調用Pattern對象的matcher方法來獲得一個Matcher對象。
PatternSyntaxException:
PatternSyntaxException是一個非強制異常類,它表示一個正則表達式模式中的語法錯誤。
Ⅸ java 怎麼用正則表達式拿出一篇文章中匹配
利用正則表達式從給定的字元串中取出符合匹配規則的字元串的Java程序如下:
import java.util.regex.Matcher;import java.util.regex.Pattern;public class E { public static void main(String[] args) { Pattern p = Pattern.compile("[A-Za-z]+");//設定匹配規則為取出字元串中的字母 Matcher m = p.matcher("12sifiwq820aufu");//與字元串匹配 while(m.find()){ System.out.println(m.group()); } }}運行結果:
sifiwqaufu