如何通过正则表达式数字和+, - ,/,*符号进行检测?

时间:2015-03-22 12:57:07

标签: java regex

我是正则表达式的新手,我正在寻找创建包含的表达式:

  • 符号+, - ,/,*

我在考虑将\ p {Punct}与\ d混合,但我不确定这是否是最好的方法。

如何以最佳方式定义正则表达式?

提前致谢!

2 个答案:

答案 0 :(得分:1)

只需将两个模式放在字符类"[\\p{Punct}\\d]"中,或者通过在+之类的字符类旁边添加"[\\p{Punct}\\d]+"量词,使其重复一次或多次,以便它匹配一个或更多标点符号或数字。

答案 1 :(得分:1)

我假设您想要分别获取数字和符号,因此您可以通过简单的替换(不需要使用Punct类,使用自定义字符类)来执行此操作:

[0-9]+|[-+/*]

你可以像这样减少正则表达式引擎的工作(快速跳过所有非数字或操作符):

(?=[0-9+/*-])(?:[0-9]+|[-+/*])

其中(?=[0-9+/*-])是一个断言,表示后面跟一个数字或+/*- < / p>