0

我想匹配这样的表达式:

500 q 6h

其中数字可以是任何整数(因此2 q 500h也是合法表达式)。

我正在尝试使用以下正则表达式匹配此模式 (\W|^)\d+ q \d+h(\W|$)

使用这种模式,我希望有一个像

a500 q 6h 不匹配。相反,它是匹配的。

同样,我希望像这样的字符串

(500 q 6h)要匹配,但不匹配。

我不明白我做错了什么。

4

2 回答 2

2

尝试以下操作:

(?<!\w)\d+ q \d+h(?!\w)

例如:http ://www.rubular.com/r/IY6T8GvK7D

于 2013-04-30T22:29:59.537 回答
0

试试这个(注意字符串文字中 java 需要的双反斜杠)

\\b\\d+ q \\d+h

我已经使用“单词边界”正则表达式\b来处理“前面的字母”问题。

于 2013-04-30T22:44:11.560 回答