繁体   English   中英

我如何使用正则表达式来获取此信息?

[英]How i can get this using regular expressions?

我用正则表达式工作,我不能得到正确的结果。 我需要获取以数字开头的数字。 示例:

FLOWERS 527 OFFICE 1217 HOUSE 10
单向614 房屋4-C
其他方式371部门209 房屋25 C
圣乔治378部门808 房屋3 C BLA BLA BLA

我是ise (?<=\\bCASA\\s)\\d+|\\d+-\\w\\s\\b但我得到的只是数字而失去了可能写成的字母: HOUSE 10只是HOUSE 4- C数字连字符HOUSE 25 C数字空格字母HOUSE 3 C BLA BLA BLA数字空格字母blablabla

什么正则表达式可以使用?

这将返回HOUSE之后的数字,并且还将捕获下一个字符:

/HOUSE (\d+[\s\-]?[A-Z]?)\b/

在您提供的示例中,它将匹配:

  • 10
  • 4-C
  • 25摄氏度
  • 3℃

试试这个: (?<=\\bHOUSE\\s)(?:\\d+-\\w|\\d+\\s\\w|\\d+)\\b

NB。 条件语句的顺序很重要,并且会进行第一个成功的匹配,因此,如果您具有\\d+|\\d+-\\w ,它将仅在4-C中匹配4 ,但是\\d+-\\w|\\d+将匹配4 -C

http://regex101.com/r/gS0aO6

(?i)house\s+(\d+[-\s]?[a-zA-Z]?)\b

现场演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM