Java 一个或两个单词后的正则表达式字符串

Java 一个或两个单词后的正则表达式字符串,java,python,php,regex,regex-group,Java,Python,Php,Regex,Regex Group,我尝试获取一个或两个已定义单词后的最后一个字符串。这是我的实际正则表达式: /(?i)(?:(ticket|number))\.?\s?\:?\s*?([^\s]+) 我想从以下可能性列表中获取票号: ticket number A2-177653 ticket : A2-177653 number 454544 因此,正则表达式可以有“票证”或“编号”或“票证编号” 有人能帮我吗 谢谢您可以使用 (?i)(?:ticket(?:\s+num

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

 /(?i)(?:(ticket|number))\.?\s?\:?\s*?([^\s]+)
我想从以下可能性列表中获取票号:

ticket number A2-177653     
ticket : A2-177653     
number 454544              
因此,正则表达式可以有“票证”或“编号”或“票证编号”

有人能帮我吗

谢谢

您可以使用

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

详细信息

  • (?i)
    -不区分大小写修饰符
  • (?:车票(?:\s+编号)?编号)
    -
    车票
    编号
    车票编号
  • \?
    -可选的
  • \s?:?\s*
    -一个可选的空白,一个可选的
    ,然后是0+空白
  • (\S+)
    -组1:任何一个或多个非空白字符