① java正則表達式怎麼一個個替換匹配的內容
Stringa="我是f_static_000的f_static_001aaaf_static_001";
//正則根據自己需要修改,replaceAll可以使用正則的捕獲組功能,$n引用第n個捕獲組
/**
replaceAll(regExp,replacement);第一個參數是正則字元串,第二個是替換內容
正則裡面有捕獲(正則裡面用小括弧捕獲)和引用的功能
*/
a=a.replaceAll("(f_static_\d+)","#[face/png/$1.png]#");
② JAVA正則表達式替換字元串問題
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTestRegex
{
publicstaticvoidmain(String[]args)
{
Stringregex="第[0-9]*條";
Stringstr="第9條,數據錯誤,錯誤信息,第jjj哦條哦條我的條件如何?第221條xx";
Patternpat=Pattern.compile(regex);
Matchermatcher=pat.matcher(str);
while(matcher.find()){
Stringtemp=str.substring(matcher.start(),matcher.end());
str=str.replaceAll(temp,temp.substring(0,temp.lastIndexOf("條"))+"行");
}
System.out.println(str);
}
}
③ java正則表達式替換一段字元串
Java正則表達式 .*(from.*)$ 替換成 select count(*) $1
完整的Java替換程序如下
publicclassAA{
publicstaticvoidmain(String[]args){
Strings="Selectafromxxxa"+"wherea.id=:id";
Stringregex=".*(from.*)$";
Stringresult=s.replaceAll(regex,"selectcount(*)$1");
System.out.println(result);
}
}
運行結果
selectcount(*)fromxxxawherea.id=:id
因為我不知道TbItem.class.getName()方法返回的表名,所以用xxx代替.
你可以用Strings="Selectafrom"+TbItem.class.getName()+"a"+"wherea.id=:id";沒問題不用改.
④ java正則表達式怎麼定義只替換中間的字元
可以使用分組來完成,替換字元串中使用$1、$2、$3……可以獲取對應組的匹配結果。如果前後的字元串是固定的那更簡單,直接在替換的時候寫上就好了。
因為String的replaceAll就是使用的正則表達式所以示例直接使用的String的替換,Pattern的替換同理。
publicclassDemo{
publicstaticvoidmain(String[]args){
Stringstr="aa文字1bb哈哈cc測試dx,測試字元串aa1234bb";
//替換aa、bb之間的字元串為"成功"
Stringstr1=str.replaceAll("aa.*?bb","aa成功bb");
System.out.println(str1);
//替換aa、bb之間的字元串為"成功"
Stringstr2=str.replaceAll("(aa).*?(bb)","$1成功$2");
System.out.println(str2);
//替換小寫字母之間的字元串為"成功"
Stringstr3=str.replaceAll("([a-z]+).*?([a-z]+)","$1成功$2");
System.out.println(str3);
}
}
⑤ java 正則替換同一類字元串
Patternp=Pattern.compile("<ap="(\S+)"pp="(\S+)">(\S+)</a>");
String[]strs={"<ap="變數1"pp="變數2">表達式1</a>",
"<ap="變數3"pp="變數4">表達式2</a>",
"<ap="變數5"pp="變數6">表達式3</a>"};
for(Stringstr:strs){
Matcherm=p.matcher(str);
if(m.matches()){
Stringsub=String.format("<xm="%s!=null">%s%s</x>",
m.group(2),m.group(1),m.group(3));
System.out.println(sub);
}
}
⑥ java正則表達式多個字元串替換怎樣實現
str.replaceAll("[A-Z]+\\d{3}", "hello").replaceAll("[^A-Za-z]", "==");
⑦ java replaceAll方法 使用正則,分組分別替換不同的字元串,分別分組替換成多個不同字元
注意使用中文括弧轉義不加"\",使用英文括弧需要"\".
⑧ java正則表達式,怎麼替換指定字元串為 指定字元+原字元串
String text = "ABCDE";
String regex = "([A-Z])";//這里的()表示保存匹配的結果
System.out.println(text.replaceAll(regex,"\\\\$1")); //$1取出保存的第1個
⑨ java使用正則表達式替換字元串
正則改成這個: (?<=\\b)\\W*/r(?=\\b)
⑩ java正則表達式查找替換字元串怎麼寫
我給你個正則表達式查找替換字元串的Java程序的例子,你看看吧.
//把字元串中的|3|替換成|5|
publicclassAA{
publicstaticvoidmain(String[]args){
Strings="abc|3|123def|3|234ghi|3|345";
System.out.println(s.replaceAll("(\|)3(\|)","$15$2"));
}
}
運行結果
abc|5|123 def|5|234 ghi|5|345