0

我的问题是你如何正则表达式不是我当前正则表达式的东西。

我的正则表达式是: 9\d\d\d\d\d\d\d\d\d

我试图找到以 9 开​​头的 10 位数字。但现在我想找到与此相反的人。

我怎么做?我正在尝试将它与 notepad++ 正则表达式一起使用,找到那些不是 10 位且不以 9 开​​头的人,然后将其删除。

我需要删除:只要不是 10 位且不以 9 开​​头的所有内容,无论位数多少。

谢谢你。

我有一个长文件,看起来像这样,

 905664572
 9055148
 9052836956
 9054950806
 9059105646
 905403434
 905654765
 9058618018
 90547214

我需要摆脱所有不是 10 位数的地方。

使用记事本++时

此正则表达式有效: 9\d\d\d\d\d\d\d\d\d

此正则表达式不: 9\d{9} AND ^9(\d{0,9}


这对我想要做的事情有效:

 (?<!\d)[0-9](\d{0,8})
4

3 回答 3

3
^9(\d{0,8}|\d{10,})$

这是您的测试。 http://www.rubular.com/r/Ls56UCYRHa

有关正则表达式的更多信息http://www.regular-expressions.info

于 2012-10-26T12:39:54.093 回答
1

您的正则表达式是9\d\d\d\d\d\d\d\d\d并且可以缩短为9\d{9}...

好吧,相反的可能是(?!9\d\d\d\d\d\d\d\d\d)(?!9\d{9})9(?>!\d{9})

编辑:工作快递:(?<!\d)9(\d{0,8}|\d{10,})(?=\D)

于 2012-10-26T12:40:53.170 回答
0

您可以使用正则表达式:

^9(\d{0,8}|\d{10,})$

这可确保您的输入以 a 开头,9后跟除 9 之外的任意位数。

于 2012-10-26T12:41:55.677 回答