㈠ java 正則匹配 ,某 首尾中間 多個內容
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test{
public static void main(String[] args) {
String t="例如a\"他們(dsdsds)\"b++12121a\"好(abiss12)\"b---==a\"我們(2121da)\"b";
Matcher m=Pattern.compile("a\\\"(.*?)\\\"b").matcher(t);
while(m.find()){
System.out.println(m.group(1));
}
}
}
他們(dsdsds)
好(abiss12)
我們(2121da)
㈡ Java正則多個結果
就三種情況,還不如不寫正則,直接equals或==
㈢ java正則表達式如何解決一行有多個匹配目標的問題
*貪婪的代表零次或多次默認他會吞掉所有符合的,後加上?
代表零次或多次盡可能少的匹配,這樣他會撿最少的吞。
㈣ java正則表達式用matches匹配多個字元串
a.matches(".*char.*|.*int.*");
㈤ java正則表達式如何解決一行有多個匹配目標
看你需要保留哪個了?
有replaceFirst(String regex, String replacement)只替換第一個;
如果要保留中間的某一個?看看Pattern和Matter能不能滿足了
㈥ java 正則表達式matcher.group()匹配多種結果的規則
這是由正則表達式的匹配策略所導致的,如果想要得到多個小的匹配結果你需要將正則表達式改為:
Stringreg="乘+(.*?)+車";
即可得到想要的結果:
具體原理你可以查看這個鏈接:http://blog.csdn.net/luoweifu/article/details/42759439 講的很詳細
㈦ 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一個字元串匹配多個正則表達式如何弄
正則默認為與(&)關系不用加什麼直接a*b*就可以了,只匹配多個a之後跟著多個b
㈨ Java正則表達式怎麼匹配連續多個同一字元
+
匹配前面的子表達式一次或多次。例如,'zo+'
能匹配
"zo"
以及
"zoo",但不能匹配
"z"。+
等價於
{1,}。
*
匹配前面的子表達式零次或多次。例如,zo*
能匹配
"z"
以及
"zoo"。*
等價於{0,}。
㈩ 怎麼用java寫一個正則表達式去匹配包含一個或多個「*」的字元串
Pattern pattern = Pattern.compile("^[^\\*]*\\*+.*$");
Matcher matcher = pattern.matcher(你要匹配的字元串);
if(matcher.matches())
{
//TODO:匹配
}
else
{
//TODO:不匹配
}
上面的代碼應該可以滿足你的要求,不過你要判斷是否包含一個*。為什麼不直接用contains("*") 或者 indexOf("*") > 0 呢?呵呵,希望對你有所幫助。