Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提交消息的Python正则表达式_Python_Regex - Fatal编程技术网

提交消息的Python正则表达式

提交消息的Python正则表达式,python,regex,Python,Regex,我正在尝试为以下格式的提交消息构造正则表达式 问题:[审核人: 正如您所看到的,reviewer部分是可选的-并非每次提交都需要审查。但是,如果提供了审阅者标签,则需要实际的审阅者 regex的设置使其能够捕获消息、问题和审阅者。 问题是,如果不指定审阅者,正则表达式仍然匹配。我怎样才能让它需要一个真正的审阅者,而不仅仅是“审阅者”的标签 编辑: 有效的例子。。。 更新的代码。问题:FOO-123。 更新的测试。问题:BAR-123。审核人:Tim 无效示例。。。 更新了自述文件。问题:AAA

我正在尝试为以下格式的提交消息构造正则表达式

问题:[审核人:

正如您所看到的,reviewer部分是可选的-并非每次提交都需要审查。但是,如果提供了审阅者标签,则需要实际的审阅者

regex的设置使其能够捕获
消息
问题
审阅者
。 问题是,如果不指定审阅者,正则表达式仍然匹配。我怎样才能让它需要一个真正的审阅者,而不仅仅是“审阅者”的标签

编辑:

有效的例子。。。
更新的代码。问题:FOO-123。

更新的测试。问题:BAR-123。审核人:Tim

无效示例。。。
更新了自述文件。问题:AAA-123。审阅者:

您是否可以使用以下内容:

^(.*?)\sIssue:\s(.*?)\sReviewer:\s(.*?)$

您必须更具体地匹配符合条件的问题。如果任何东西都可以被认定为问题,那么“FOO-123.Reviewer:”是一个有效的问题名称。如果您知道您的问题看起来像“FOO-123”,那么您可以将匹配限制为[A-Z]+-[0-9]+
这是一个。

如果您需要强制执行
审阅者
部分,请删除最后一个
如果文本没有说明审阅者是谁,正则表达式只是假设
审阅者
是问题标识符的一部分。@user2357112是的,我理解这个问题-我需要一个解决方案。@WiktorStribiżew我不需要强制执行
审阅者
部分。问题标识符格式是否严格到不能以
审阅者
结尾?问题标识符可能是“Regex为以Reviewer结尾的行生成不正确的匹配”之类的东西,或者类似的东西,以“Reviewer”结尾?当我取出Reviewer部分时,它不起作用。问题是,如果您没有指定一个Reviewer-Regex仍然匹配-您能用一些示例更新您的问题吗?我想我在评论中提到了这一点。我相信开发人员不会在他们的消息中使用问题和评论员的词语。这不是我主要关心的问题。此外,如果输入是
更新了代码,则正则表达式仍然匹配。问题:FOO-123。审阅者:
无效。已更新正则表达式。正在接受空间作为有效的审阅者。我的观点并不是说开发人员可能会将Reviewer放在他们的问题名称中,而是说,如果您接受所有字符串作为问题,那么它们将不匹配。你必须限制什么是正则表达式中的问题。