(\d+(\.|\,|\\|\/|\-)\d+),我有这样一个正则表达式。我在用这个正则表达式捕捉像15.12,15/15这样的数字,它正确地工作。但是当我得到与非算子的逆时,它不完全正确地工作。使用"not“操作符的Regex。[^(\d+(\.|\,|\\|\/|\-)\d+)]
让我们以"15/12吨/吨“作为样本文本。在这里,我希望它能找到ton/ton,但它不需要"/"字符,它只需要tonton。我做错什么了?我怎么才能修好?
示例;
15/13 48 km/h ---> 48 km/h
13.12 ton. ---> ton.
10,11 ,kwh ---> ,kwh
9-7 .mm. ---> .mm.如本例所示,我希望找到除数字(包括空格)以外的所有内容。
发布于 2022-03-21 19:00:04
[^(\d+(\.|\,|\\|\/|\-)\d+)]不是(\d+(\.|\,|\\|\/|\-)\d+)的反义词
在正则表达式中,括号之间的任何内容都被视为字符集。当^是集合中的第一个字符时,它是一个特殊的字符,它意味着字符集的倒数。
https://regex101.com/r/7gJANc/4
这是一个很好的方法,可以准确地看到哪些字符正被该模式匹配(或不匹配)。
最后编辑:
要查找要查找的内容,可以将\d的每个实例转换为\D。\D的意思是“不数字”。
(\D+(\.|\,|\\|\/|\-)\D+)是您的模式,但使用\D
https://regex101.com/r/7gJANc/5
它与tons/tonne匹配
https://stackoverflow.com/questions/71562702
复制相似问题