如何使它成为Java正则表达式?

时间:2019-04-26 18:25:05

标签: java regex

我使用regex101进行表达,使用其符号看起来像这样

\d+ [+-\/*] \d*

基本上,我希望用户像123 + 123一样输入,但是整个语句是一个字符串,在第一个数字后正好有一个空格,在运算符后又有一个空格

上面的表达式有效,但是不能将其转换为Java。

我认为这些符号是通用的,但我猜不是。有什么想法可以将其转换为正确的语法吗?

2 个答案:

答案 0 :(得分:3)

正则表达式不是通用的。 一般来说, 没有两个正则表达式系统是相同的。

Java没有正则表达式。 一些Java类支持正则表达式。 Pattern类定义了某些Java类所使用的正则表达式,其中包括Matcher似乎是您正在使用的类。

正如评论中已经指出的那样, \是Java中的下一个转义字符。 如果要在字符串中表示\, 您必须使用\\。 例如, 正则表达式中的\d必须用Java字符串写成\\d

答案 1 :(得分:1)

您可以简单地使用组()并根据需要设计RegEx。 This RegEx可能是这样做的一种方式:

((\d+\s)(\+|\-)(\s\d+))

它有四个组,您可以简单地使用 $ 1 调用整个输入:

enter image description here

您还可以转义 \ 那些必需的基于语言的chars