替换正则表达式

时间:2016-10-19 17:08:54

标签: regex string

我需要在Java String中找到一个模式并替换另一个字符串。

我有两种字符串

1- Lorem ipsum dolor坐下来,它。整数pos laciniA。 2. Lorem ipsum dolorelit。 Curabitur pretium maL。

我需要做的是找到一个"。"在它之前没有数字并由";"

替换

我发现正则表达式就像str.replaceAll(' \。',' \\;');

这种模式的问题在于它找到String" 2。"它改变了" 2;"

另一个解决方案是str.replaceAll(' [a-zAz] \。',' \\;');但它取代了之后的最后一个字母"。"。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

  

我需要做的是找到一个"。"在它之前没有数字并由";"

替换

您可以利用负面的背后隐藏:

String result = str.replaceAll("(?<!\\d)\\.", ";");

请参阅regex demo

<强>详情:

  • (?<!\d) - 如果当前位置之前有数字
  • ,则匹配失败
  • \. - 匹配文字.