用于搜索10位特定数字的表达式

时间:2015-01-26 21:32:38

标签: regex

我正在尝试编写一个表达式,查找以11开头的十位数字。它需要能够在段落中找到它,或者如果用户没有点击空格并且文本位于其前面。这里有一些我试图找到的例子和我需要搜索的例子。

  • 1128647953 - 寻找号码的示例
  • test1128647953test - 查找号码的示例,但只是号码无文字
  • 这是您的号码1128647953谢谢 - 号码示例仅查找号码无文字。

尝试了11\d{8},但它找到了包含该组合的任何数字,只想要特定的数字。

2 个答案:

答案 0 :(得分:2)

你很亲密。 (?<!\d)11\d{8}(?!\d)

(?<!\d)     # negative look-behind: a position not preceded by a digit
11\d{8}     #
(?!\d)      # negative look-ahead: a position not followed by a digit

除非它们嵌入更长的数字序列中,否则它将数字序列与10个位置的长度匹配。

答案 1 :(得分:0)

如果您想要便携性,请坚持使用标准正则表达式。您正在寻找的规范ERE应该是:

[^0-9](11[0-9]{8})[^0-9]