首页 > 解决方案 > 一两个单词后的正则表达式字符串

问题描述

我尝试在一两个定义的单词之后获取最后一个字符串。这是我的实际正则表达式:

 /(?i)(?:(ticket|number))\.?\s?\:?\s*?([^\s]+)

我想从这个可能性列表中获取票号:

ticket number A2-177653     
ticket : A2-177653     
number 454544              

因此,正则表达式可以有“ticket”或“number”或“ticket number”

有谁能够帮助我?

谢谢

标签: javapythonphpregexregex-group

解决方案


您可以使用

(?i)(?:ticket(?:\s+number)?|number)\.?\s?:?\s*(\S+)

查看正则表达式演示

细节

  • (?i)- 不区分大小写的修饰符
  • (?:ticket(?:\s+number)?|number)- ticketnumberticket number
  • \.?- 一个可选的.
  • \s?:?\s*- 一个可选的空格,一个可选的:,然后是 0+ 个空格
  • (\S+)- 第 1 组:任何一个或多个非空白字符。

推荐阅读