我需要一些正则表达式的帮助,我正在尝试开发与从邮件中检索Jira签入ID相关的问题。我需要能够给出这个字符串:
WYP-857, GL-1723 and then some message GTY-817 about the check-in.
匹配值WYP-857
和GL-1723
。标准是我必须匹配两到五个字母字符,然后是连字符,然后是三个或更多数字。这些单独的匹配必须从字符串的开头开始,并且可以有逗号,分号或空格分隔的多个匹配项。在这种情况下,GTY-817
不应匹配,因为它不在字符串的开头。到目前为止我所做的所有尝试似乎都完全匹配WYP-857, GL-1723
而没有返回个别匹配。任何帮助将不胜感激。
答案 0 :(得分:1)
你可以试试这个正则表达式
^[a-zA-Z]{2,5}-\d{3,}([,;\s][a-zA-Z]{2,5}-\d{3,})*
答案 1 :(得分:0)
答案 2 :(得分:0)
尝试这样的事情:
^[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
将其分开。
不可否认,使用此方法,您仍需要执行两个操作,以实际获取单独ID的列表。