Java正则表达式,用于$replacement
问题1.Java正则表达式,用于$replacement,java,regex,Java,Regex,问题1. 我试图将我的字符串从“(a)改为(b)行是正确的”改为“(a)2(b)行是正确的”。为此,我正在使用此代码,但它不符合我的要求 strtargetsentence=strtargetsentence_.replaceAll"([\(]([A-Za-z0-9])[\)][ ](to|and|or)[ ][\(]([A-Za-z0-9])[\)])","([\(]([A-Za-z0-9])[\)][ ](2|&|aur)[ ][\(]([A-Za-z0-9])[\)])" 同样的
我试图将我的字符串从“(a)改为(b)行是正确的”改为“(a)2(b)行是正确的”。为此,我正在使用此代码,但它不符合我的要求
strtargetsentence=strtargetsentence_.replaceAll"([\(]([A-Za-z0-9])[\)][ ](to|and|or)[ ][\(]([A-Za-z0-9])[\)])","([\(]([A-Za-z0-9])[\)][ ](2|&|aur)[ ][\(]([A-Za-z0-9])[\)])"
同样的,我也想做这些组合
(a) to (b)--->(a) 2 (b)
(b) to (e)--->(b) & (e)
(1) to (2)--->(1) aur (2)
问题2.对于这些组合,我也尝试使用以下代码
[a] we are going ---->[a] we are going
1)we are going---->1)we are going
strtargetsentence=strtargetsentence_.replaceAll("([\\[|\\(])?([0-9A-Za-z]+)([\\.|\\)|\\]?])", "$1$2$3");
我认为你应该写几个正则表达式替换。对于问题1,可能导致以下三种替换语句:
String strtargetsentence_ = "(a) to (b)";
String pattern1 = "(\\(\\w\\)) to (\\(\\w\\))";
String pattern2 = "(\\(\\w\\)) and (\\(\\w\\))";
String pattern3 = "(\\(\\w\\)) or (\\(\\w\\))";
String strtargetsentence=strtargetsentence_.replaceAll(pattern1,"$1 2 $2")
.replaceAll(pattern2,"$1 & $2")
.replaceAll(pattern3,"$1 aur $2");
System.out.println(strtargetsentence);
第二个问题的替代方案如下:
String strtargetsentence=strtargetsentence_.replaceAll("(\\[?\\w)(\\]|\\))( ?.*)", "$1$2$3");
请澄清你的问题。很难阅读。谢谢你的回复。但是得到了这样的解决方案(“([\[\\\(])?(\\S+)([\\.\124\)\ 124\]?]),$1$2$3)。这是否正确??但对于第一个问题,我想要一个表达式。