我无法编写将会出现的正则表达式:
我的模式应采用以下格式:
"5. 282 ae"
我在下面尝试过正则表达式,但它没有用。
regex([2-4]\.\s[0-9][0-9][0-9]\s\w\w)
答案 0 :(得分:1)
在TextPad中,这有效:
查找内容:([2-4])\.\s+(\d\d\d)\s+ae
替换为:$1$2
但
它确实将5. 282 ae
替换为3. 278 ae
,将3278
替换为4. 113 ae
您可以在此处尝试:http://fiddle.re/vt73v
4113
输出:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
/**
<P>{@code java Regex2000To4999Xmpl}</P>
**/
public class Regex2000To4999Xmpl {
public static final void main(String[] XXX) {
Pattern p = Pattern.compile("^([2-4])\\.\\s+(\\d\\d\\d)\\s+ae$");
String sD1d2 = "$1$2";
replace(p, "5. 282 ae", sD1d2);
replace(p, "3. 278 ae", sD1d2);
replace(p, "4. 113 ae", sD1d2);
}
public static final void replace(Pattern p_p, String s_findWhat, String s_replaceWith) {
System.out.println(p_p.matcher(s_findWhat).replaceFirst(s_replaceWith));
}
}