1

我正在尝试为一个字符串编写一个正则表达式 -

  1. 以“x”开头。
  2. 在'x'之后,它没有'98'

我写了以下正则表达式,但它不起作用

^x[0-8]|^x9[0-7]|^x99.*$

有人可以指出其中有什么问题吗?或者对于这种情况,什么是更好的正则表达式?

4

3 回答 3

3

应该是这样的:

^x(?!98).* //(?!pattern) is a negative lookahead
于 2013-03-13T14:48:54.857 回答
1

您可以使用负前瞻:

^x(?!98)\d{2}.*$

这将匹配一个字符串

  • ^x- 以。。开始x
  • \d{2}– 后跟两位数字(我从您的正则表达式中猜到了这一点;您的描述没有提到这一点)
  • (?!98)不是98
  • .*$– 并任意延伸到字符串的结尾

(我不确定最后一个要求是什么;我可能会选择^x(?!98)\d{2}.)

于 2013-03-13T14:48:29.710 回答
1

这可能适用于您的情况:

^x(?!98)
于 2013-03-13T14:50:57.407 回答