java - 修复 java 中交错的正则表达式替换输出

标签 java regex string replace

我试图让每个正则表达式匹配在其自己的行上,并在行中的每个元素之间使用逗号,我尝试过方法,但两次结果由于某种原因交错,我替换了正则表达式和输出用更简单的东西来展示它,例如结果看起来像

1 ,   , 
  , a ,
  ,   , b

当结果应该是

1 , a , b

为下一场比赛换行

这是我尝试过的两种尝试,这是java

input.replaceAll("(1)|(a)|(b)", "$1 , $2 , $3\n");

(match.group(1) + ","+ match.group(2) + ","+ match.group(3));

正在解析的文件看起来像这样

1 a b

我如何修复输出,使其不交错?

最佳答案

据我所知,这可能会有所帮助:

input.replaceAll("(1).*?(a).*?(b)" , "$1 , $2 , $3 \n");

一次替换即可捕获所有内容。

但是请更多地解释您期望什么行为,因为这并不完全清楚,例如“行中每个元素之间有逗号”

关于java - 修复 java 中交错的正则表达式替换输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60476930/

相关文章:

Javascript URL 验证正则表达式

php - 正则表达式删除句子中所有包含数字的单词

android - Spanned 字符串的 getSpans 返回 Spanned 乱序?

java - 在字符串中查找被 "["和 "]"包围的单词 :

java - 如何在 Java 中比较字符串?

java - 如果字符串可能在第一个位置包含像制表符这样的分隔符,如何将字符串拆分为非空单词

java - 我什么时候应该使用 Double.longBitsToDouble(...) 而不是简单地将 long 转换为 double ?

java - 如何添加在两列之间动态平均分配的组件?

java - ILightweightLabelDecorator 的 'decorate' 方法从未被调用

Java XSLT 将 csv 转换为 XML