regex 无法放置特定字符串的正则表达式

x33g5p2x  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(123)

在我的Python代码中,我有一个以Jira id开头的字符串,如:-

<Jira Id in upper case>: <Commit Message>

例如,它看起来像这样:-

FD-0827: This is a test commit only

在这里,“FD”后面跟一个连字符是很重要的,并且保持静态,后面跟动态数字。我希望冒号作为分隔符,后面跟任何消息。
到目前为止,我尝试了以下正则表达式的代码格式,但还不能把一些条件围绕它:-JIRA_REGEX = "(\w+)-(\d+)"-〉工作,但允许FD的小写以及没有检查冒号JIRA_REGEX = "^[A-Z]-(\d+)"-〉不工作在所有
在任何情况下,它都应该查找冒号。
我怎么才能把正则表达式严格寻找

<Jira Id in upper case>: <Commit Message>
oogrdqng

oogrdqng1#

你想要这样的东西吗?

import re

JIRA_REGEX = "^[A-Z]{2}-\d+:"

string = "FD-0827: This is a test commit only"

match = re.match(JIRA_REGEX, string)
if match:
    print("Valid Jira ID and commit message format")
else:
    print("Invalid Jira ID and commit message format")
yyyllmsg

yyyllmsg2#

这个正则表达式也可以工作:[A-Z]{2}-\d+:(?:\s\w+)+

  • [A-Z]{2}-匹配两个大写字符
  • --匹配连字符
  • \d+-Jira id的几位数字
  • :-匹配冒号
  • (?:\s\w+)+-少量空格分隔的单词

Demo

相关问题