我想用replaceall和正则表达式将某些文本转换为其他文本。
我的文字如下:
这带有一些额外的约束xhiho,
这没有任何额外的限制hfdlh
现在我想要的结果是以下内容:
这是额外的--constraint xhiho
这没有多余的东西-约束hfdlh
因此,我需要在约束条件前加上2“-”,如果有“,”,则将其放在2“-”之前]
我尝试了以下代码:
oConvert = oConvert.replaceAll("constraint(.*)(,?)", "$2--constraint$1");
但是它不起作用,它没有在两个“-”前面加上“,”
您可以使用:
str = str.replaceAll("(\\h+constraint\\h+.+?)(,?)$", "$2 --$1");
RegEx详细信息:
(
:开始捕获组#1\h+
:匹配1个以上空白]constraint
:匹配constraint
\h+
:匹配1个以上空白].+?
:匹配1个或多个字符(惰性匹配)] >>)
:捕获组#1的结尾(
:捕获组2的开始,?
:匹配可选逗号)
:捕获组#2的结尾$
:比赛结束