javapattern
㈠ java Pattern的用法是什麼
java 中pattern為正則表達式的編譯表示形式。指定為字元串的正則表達式必須首先被編譯為此類的實例。然後,可將得到的模式用於創建 Matcher 對象,依照正則表達式,該對象可以與任意字元序列匹配。執行匹配所涉及的所有狀態都駐留在匹配器中,所以多個匹配器可以共享同一模式。例子如下:
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches
在僅使用一次正則表達式時,可以方便地通過此類定義 matches 方法。此方法編譯表達式並在單個調用中將輸入序列與其匹配。
㈡ java Pattern 怎麼判斷大於某一個數字數值。
方法一:利用正則表達式
public class Testone {
public static void main(String[] args){
String str="123456";
boolean result=str.matches("[0-9]+");
if (result == true) {
System.out.println("該字元串是純數字");}else{System.out.println("該字元串不是純數字");}}}方法二:利用Pattern.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Testone {
public static void main(String[] args){
String str="123456";
Pattern pattern = Pattern.compile("[0-9]{1,}");
Matcher matcher = pattern.matcher((CharSequence)str);
boolean result=matcher.matches();
System.out.println("該字元串是純數字");}else{System.out.println("該字元串不是純數字");}}}
㈢ java pattern 如何匹配用逗號分隔的很復雜的表達式
按照你的要求匹配aa:bb,cc,dd:e簡化的Java正則表達式: (:?\w+,?)+
我給你個Java程序的例子,你可以參考一下.
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassA{
publicstaticvoidmain(String[]args){
Strings="aa:bb,cc,dd:e";
Stringregex="(:?\w+,?)+";
Patternp=Pattern.compile(regex);
Matcherm=p.matcher(s);
if(m.matches()){
System.out.println(m.group());
}
}
}
運行結果:
aa:bb,cc,dd:e
㈣ java中關於Pattern的一個方法
Java程序正則表達式Pattern對象做為匹配模式對字元串展開匹配檢查,Pattern的方法如下: static Pattern compile(String regex),用案例具體說明用法:
importjava.util.regex.*;
publicclassReplacement{
publicstaticvoidmain(String[]args)throwsException{
//生成一個Pattern,同時編譯一個正則表達式
Patternp=Pattern.compile("[/]+");
//用Pattern的split()方法把字元串按"/"分割
String[]result=p.split(
"Kevinhasseen《LEON》sevealtimes,becauseitisagoodfilm."
+"/凱文已經看過《這個殺手不太冷》幾次了,因為它是一部"
+"好電影。/名詞:凱文。");
for(inti=0;i<result.length;i++)
System.out.println(result[i]);
}
}
/**輸出結果為:
*Kevinhasseen《LEON》sevealtimes,becauseitisagoodfilm.
*凱文已經看過《這個殺手不太冷》幾次了,因為它是一部好電影。
*名詞:凱文。
*很明顯,該程序將字元串按"/"進行了分段。
**/
㈤ java正則pattern的正確用法怎麼用
public
static
String
extractNumber(String
input){
StringBuilder
numberStr=new
StringBuilder();
//Pattern
p=Pattern.compile("\\d+");
//意思是不要在方法體內定義Pattern變數,直接像下面這樣調用靜態方法就行了
Matcher
m=Pattern.compile("\\d+").matcher(input);
while(m.find()){
numberStr.append(m.group());
}
return
numberStr.toString();
}
㈥ Java Pattern的用法是什麼
正則表達式中的特殊字元:
\\ 反斜杠
\t 間隔 ('\u0009')
\n 換行 ('\u000A')
\r 回車 ('\u000D')
\d 數字等價於[0-9]
\D 非數字等價於[^0-9]
\s 空白符號 [\t\n\x0B\f\r]
\S 非空白符號 [^\t\n\x0B\f\r]
\w 單獨字元 [a-zA-Z_0-9]
\W 非單獨字元 [^a-zA-Z_0-9]
\f 換頁符
\e Escape
\b 一個單詞的邊界
\B 一個非單詞的邊界
\G 前一個匹配的結束
^為限制開頭 ^java 條件限制為以Java為開頭字元
$為限制結尾 java$ 條件限制為以java為結尾字元
.為限制一個任意字元 java.. 條件限制為java後除換行外任意兩個字元加入特定限制條件
[a-z] 條件限制在小寫a to z范圍中一個字元
[A-Z] 條件限制在大寫A to Z范圍中一個字元
[a-zA-Z] 條件限制在小寫a to z或大寫A to Z范圍中一個字元
[0-9] 條件限制在小寫0 to 9范圍中一個字元
[0-9a-z] 條件限制在小寫0 to 9或a to z范圍中一個字元
[0-9[a-z]] 條件限制在小寫0 to 9或a to z范圍中一個字元(交集)
[]中加入^後加再次限制條件
[^a-z] 條件限制在非小寫a to z范圍中一個字元
[^A-Z] 條件限制在非大寫A to Z范圍中一個字元
[^a-zA-Z] 條件限制在非小寫a to z或大寫A to Z范圍中一個字元
[^0-9] 條件限制在非小寫0 to 9范圍中一個字元
[^0-9a-z] 條件限制在非小寫0 to 9或a to z范圍中一個字元
[^0-9[a-z]] 條件限制在非小寫0 to 9或a to z范圍中一個字元(交集)
在限制條件為特定字元出現0次以上時,可以使用「*」
J* 0個以上J
.* 0個以上任意字元
J.*D J與D之間0個以上任意字元
在限制條件為特定字元出現1次以上時,可以使用「+」
J+ 1個以上J
.+ 1個以上任意字元
J.+D J與D之間1個以上任意字元
在限制條件為特定字元出現有0或1次以上時,可以使用「?」
JA? J或者JA
出現限制為連續出現指定次數字元「{a}」
J{2} JJ
J{3} JJJ
文字a個以上,並且「{a,}」
J{3,} JJJ,JJJJ,JJJJJ,???(3次以上J並存)
文字a個以上,b個以下「{a,b}」
J{3,5} JJJ或JJJJ或JJJJJ
兩者取一「|」
J|A J或A
Java|Hello Java或Hello
「()」中規定一個組合類型比如,我查詢<a
href=\"index.html\">index中<a
href>間的數據,可寫作(.+?)
String name = "";
Pattern pattern = Pattern.compile("(.)*(\\w\\sV[0-9]{3}R[0-9]{3}C[0-9]{2}(B[0-9]{3})?)");
Matcher m = pattern.matcher(name);
if(m.matches()){
System.out.println("相同");
}else{
System.out.println("不相同");
}