如何匹配前面没有特定字符的字符序列?

时间:2015-08-17 07:49:01

标签: javascript regex

我的字符串中有一系列数字,我想用RegEx选择它们。但是,如果某个数字序列前面有“@”字符(没有引号),那么它应该跳过它。我不知道如何在Javascript中解决它。

我知道我应该使用Lookahead检查条件: (?!@[a-z]) 但上述规则仅用于不选择前面带@的数字,那么选择那些前面没有@的数字呢?我需要说RegEx跳过@\d,而只选择(?!@\d)。我该怎么做?

例如我有这个字符串:

helloMrRobert5555AndGoodByeMrSteve@8888

预期产出:

5555

1 个答案:

答案 0 :(得分:0)

我认为你可以使用这样的简单正则表达式(如果数字的长度是固定的):

/[^@](\d{4})/g

并使用替换$1

如果长度不固定,请使用/@\d+|(\d+)/g