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