正则表达式替换特定标签内特定字符后的所有内容
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>
[^\<]+
是一个否定字符集,这意味着它将匹配任何不在集合中的字符。 [^\<]+
匹配直到遇到 <
个字符。
我有一个包含 XML 个具有值的元素的列表。我想删除特定字符(在本例中为句点)之后的任何字符或数字,但仅限于 someTag 元素内。
<someTag>123.3</someTag>
<someTag>8623.34</someTag>
我可以使用以下方法定位标签内的句点:\.(?=[^<]*</someTag>)
。但是,我不知道如何删除句点及其后的所有内容,以便最终结果为:
<someTag>123</someTag>
<someTag>8623</someTag>
非常感谢任何帮助!
您的模式只匹配句点。您必须捕获它之后的所有内容,直到标签也关闭。试试这个:
(\.[^\<]+)<\/someTag>
[^\<]+
是一个否定字符集,这意味着它将匹配任何不在集合中的字符。 [^\<]+
匹配直到遇到 <
个字符。