我如何获得其余数字?

时间:2014-07-17 21:33:07

标签: regex perl

Campus: Fairlane North
Building: testtesttest 5850 Mercury Dr
Floor: Floor 01 Common Area

鉴于上述测试,我想提取“5850 Mercury”

我试过了/Building:.*(\d+\s\w+)/

哪个得到了我 0 Mercury

我如何获得其余数字?位数的范围为1到6.

感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

三种方法。

  1. 使用非贪婪匹配.*?代替贪婪匹配.*

    /Building:.*?(\d+\s\w+)/
    
  2. 设置单词边界\b以确保您匹配完整的数字:

    /Building:.*(\b\d+\s\w+)/
    
  3. 从任意字符.更改为非数字\D

    /Building:\D*(\d+\s\w+)/
    

答案 1 :(得分:0)

这个正则表达式怎么样:

\b\d+\s\w+

Online Demo

答案 2 :(得分:-1)

您可以执行以下操作。

\b(\d{4} \w+)