正则表达式,从字符串的开头读取
本文关键字:开头 读取 字符串 正则表达式 | 更新日期: 2023-09-27 18:13:21
我需要一些正则表达式的帮助,我正试图从消息中检索Jira签入ID。我需要能够给出这个字符串:
WYP-857, GL-1723 and then some message GTY-817 about the check-in.
匹配WYP-857
和GL-1723
。标准是我必须匹配2到5个alpha字符,后跟一个连字符,然后是3个或更多的数字。这些单独的匹配必须从字符串的开头开始,并且可以多次出现,以逗号、分号或空格分隔。在这种情况下,GTY-817
不应该匹配,因为它不在字符串的开头。到目前为止,我所做的所有尝试似乎都完全匹配WYP-857, GL-1723
,而不是返回单个匹配。
你可以试试这个regex
^[a-zA-Z]{2,5}-'d{3,}([,;'s][a-zA-Z]{2,5}-'d{3,})*
这应该很简单:
(^|,' )[A-Z]{2,5}-'d{3}
http://tinyurl.com/clt367h 试试这样:
^[a-zA-Z]{2,5}-[0-9]{3}[0-9]*(, [a-zA-Z]{2,5}-[0-9]{3}[0-9]*)+
这应该返回初始的WYP-857, GL-1723
,然后您可以使用另一个Regex
匹配([a-zA-Z]{2,5}-[0-9]{2}[0-9]*
)或使用Split
将其分开。