java - 一两个单词后的正则表达式字符串
问题描述
我尝试在一两个定义的单词之后获取最后一个字符串。这是我的实际正则表达式:
/(?i)(?:(ticket|number))\.?\s?\:?\s*?([^\s]+)
我想从这个可能性列表中获取票号:
ticket number A2-177653
ticket : A2-177653
number 454544
因此,正则表达式可以有“ticket”或“number”或“ticket number”
有谁能够帮助我?
谢谢
解决方案
您可以使用
(?i)(?:ticket(?:\s+number)?|number)\.?\s?:?\s*(\S+)
查看正则表达式演示
细节
(?i)
- 不区分大小写的修饰符(?:ticket(?:\s+number)?|number)
-ticket
,number
或ticket number
\.?
- 一个可选的.
\s?:?\s*
- 一个可选的空格,一个可选的:
,然后是 0+ 个空格(\S+)
- 第 1 组:任何一个或多个非空白字符。
推荐阅读
- azure - 是否可以将事务同时应用于 Azure 队列和 Azure 表?
- c# - 如何将 JSON 字符串中的名称-值集合对反序列化为对象?
- php - 下载文件时md5校验和不匹配
- python - 如何从另一个文件中的类模块导入python中的全局变量?
- java - 维基百科中的opensearch结果为java中的jsonobject
- for-loop - Golang 一行 for 循环
- python - 多类继承
- redis - Redis 映像目前是否可以在 Windows 上与 Docker 一起使用?
- installation - Pdf2Html 安装
- android - Android MMS Content Provider 不存储事务 ID