正则表达式替换特定标签内特定字符后的所有内容

Regex replace everything after specific character inside specific tag

我有一个包含 XML 个具有值的元素的列表。我想删除特定字符(在本例中为句点)之后的任何字符或数字,但仅限于 someTag 元素内。

<someTag>123.3</someTag>
<someTag>8623.34</someTag>

我可以使用以下方法定位标签内的句点:\.(?=[^<]*</someTag>)。但是,我不知道如何删除句点及其后的所有内容,以便最终结果为:

<someTag>123</someTag>
<someTag>8623</someTag>

非常感谢任何帮助!

您的模式只匹配句点。您必须捕获它之后的所有内容,直到标签也关闭。试试这个:

(\.[^\<]+)<\/someTag>

[^\<]+ 是一个否定字符集,这意味着它将匹配任何不在集合中的字符。 [^\<]+ 匹配直到遇到 < 个字符。

Regex101