首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java regex非操作符不能正常工作

java regex非操作符不能正常工作
EN

Stack Overflow用户
提问于 2022-03-21 18:51:27
回答 1查看 136关注 0票数 0

(\d+(\.|\,|\\|\/|\-)\d+),我有这样一个正则表达式。我在用这个正则表达式捕捉像15.12,15/15这样的数字,它正确地工作。但是当我得到与非算子的逆时,它不完全正确地工作。使用"not“操作符的Regex。[^(\d+(\.|\,|\\|\/|\-)\d+)]

让我们以"15/12吨/吨“作为样本文本。在这里,我希望它能找到ton/ton,但它不需要"/"字符,它只需要tonton。我做错什么了?我怎么才能修好?

示例;

代码语言:javascript
复制
15/13 48 km/h  ---> 48 km/h

13.12 ton.     ---> ton.

10,11 ,kwh     ---> ,kwh

9-7 .mm.       ---> .mm.

如本例所示,我希望找到除数字(包括空格)以外的所有内容。

EN

回答 1

Stack Overflow用户

发布于 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匹配

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71562702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档