使用正则表达式将字符串替换为动态字母数字字符
replace the string with dynamic alphanumeric characters using regex
假设我有一个文件,其中包含一个字符串值和动态字母数字字符。
所以我需要用空字符替换字符串。
字符串:
preso1DA7B5FB-01B4-8AB8-B8B2-93B7118ED92B
这里preso永远不变,其他字母数字字符会不断变化(动态值)。
如何为字符串编写正则表达式
我的正则表达式是:
preso.*?\n
public class PatternSearchAndReplace {
public String replaceWithPattern(String str,String replace){
Pattern ptn = Pattern.compile("(?<=preso).*");
Matcher mtch = ptn.matcher(str);
return mtch.replaceAll(replace);
}
public static void main(String a[]){
String str = "Hello_preso1D88B7B3-FE77-7A3D-9758-C3820B6D83FB/cfslideshow.js";
PatternSearchAndReplace mpr = new PatternSearchAndReplace();
System.out.println(mpr.replaceWithPattern(str, " "));
}
}
我想要的输出是:Hello_/cfslideshow.js
您应该使用正向回顾。我假设您想在给定字符串中获取动态字母数字字符:
即
(?<=preso).*
正向后视是零长度断言,因为它不捕获它匹配的内容并捕获后视表达式
之后的值
查看更新后的 post,您应该捕获所有字符以及 preso,因此,您的正则表达式应该是这样的:
preso.*(?=/)
假设我有一个文件,其中包含一个字符串值和动态字母数字字符。 所以我需要用空字符替换字符串。
字符串:
preso1DA7B5FB-01B4-8AB8-B8B2-93B7118ED92B
这里preso永远不变,其他字母数字字符会不断变化(动态值)。
如何为字符串编写正则表达式
我的正则表达式是:
preso.*?\n
public class PatternSearchAndReplace {
public String replaceWithPattern(String str,String replace){
Pattern ptn = Pattern.compile("(?<=preso).*");
Matcher mtch = ptn.matcher(str);
return mtch.replaceAll(replace);
}
public static void main(String a[]){
String str = "Hello_preso1D88B7B3-FE77-7A3D-9758-C3820B6D83FB/cfslideshow.js";
PatternSearchAndReplace mpr = new PatternSearchAndReplace();
System.out.println(mpr.replaceWithPattern(str, " "));
}
}
我想要的输出是:Hello_/cfslideshow.js
您应该使用正向回顾。我假设您想在给定字符串中获取动态字母数字字符:
即
(?<=preso).*
正向后视是零长度断言,因为它不捕获它匹配的内容并捕获后视表达式
之后的值查看更新后的 post,您应该捕获所有字符以及 preso,因此,您的正则表达式应该是这样的:
preso.*(?=/)