如何使用正则表达式从短语中提取数字组?

时间:2014-03-22 19:44:05

标签: regex match

我有多个句子,看起来像下面这句话 - 069054 my name is black fox, $1234. phone number:1234567

我需要提取以提取第一个单词(或数字,在本例中为069054)。

需要满足的条件是:

  1. 它应该只包含6位数字。
  2. 这应该是句子中的第一句话。
  3. 如果它有更多或更少的数字,我应该忽略它。
  4. 应该只包含数字,不允许使用字符
  5. 这就是我所拥有的,但它不适合我。

    ^([\d]{6})$
    

1 个答案:

答案 0 :(得分:1)

这是你正在寻找的正则表达式:

^(\d{6})(?!\d)

只需从结尾移除$,然后将其替换为(?!\d)。它表示六位数字后面没有任何数字。

如果您希望避免从123456xyz之类的输入中选择数字,请使用以下内容:

^(\d{6})(?![\da-zA-Z])