用于 $ 替换的 Java 正则表达式

标签 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) 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");

关于用于 $ 替换的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24925119/

相关文章:

java - objectify 中的复杂查询

python - 如何使用 XPath 和 Scrapy 选择特定类型的 URL

php - 正则表达式匹配字符串 BAR,只要它之前没有出现字符串 FOO

python - 使用 python 正则表达式从文件中提取一行

java - JS和Java中相同图像的不同Base64字符串

java - 如何将 dom4j xml 转换为 Swing Jtree?

java - "reject"如何实例化一个类

java - 调用继承类中的方法时出现问题

java - 如何解析字符串以从中获取双值

java - Java中最快的子串搜索方法是什么