正则表达式:在特定位置找到没有特定字符的字符串

时间:2014-04-24 15:06:59

标签: regex

我正在尝试使用以下正则表达式找到单行字符串:

=949.+\$h[^1]\$.+

但是,除{1}之外,\$h[^1]\$字符串可以包含10和11。我想找到数十和十一,但不是那些。

所以我想找到: $ h10 $ h11 但不是 $ h1

思想?

澄清一下,我希望找到2,3,4,5,6,7,8,9,10,11而不是1

2 个答案:

答案 0 :(得分:1)

您可以使用:

\$h(2|3|4|5|6|7|8|9|10|11)

<强> 样本:
http://regex101.com/r/lX4mS5

如果您想匹配$h1以外的所有内容,可以使用negative look-behind,如下所示:

\$h[\d]{1,2}(?<!(\$h1))

<强> 样本: http://regex101.com/r/bS8mA2

答案 1 :(得分:0)

另一种选择(不用四处寻找):

\$h([2-9]|\d{2,})

Regular expression visualization

Debuggex Demo