【发布时间】:2021-03-23 15:59:34
【问题描述】:
有没有办法在python中写一个匹配以下格式的字符串的正则表达式:
feat(fix-validation): some texts (Aerogear-G1010)
或
feat$($fix-validation$)$:$some texts$($Aerogear-G1010$)
这里,$ = 表示可以出现零个或多个空格
细分:
feat : 来自固定字符串子集的字符串 ['feat','fix','docs','break']
fix-validation : 最大 n 长度的字符串
some texts : 最大 m 长度的字符串
Aerogear-G1010 : 前缀应该始终是一个字符串Aerogear-,然后是一些最大 q 长度的字母数字字符
注意:我们不能对():-等特殊字符进行转义,格式应与以下示例完全相同: p>
- feat(feat-new):组创建的新功能 (Aerogear-1234)
- docs(new docs):在文件 repo (Aerogear-G1235) 上添加新文档
- fix(fix-warnings):修复用户提出的问题 (Aerogear-P1230)
我只能使用模式:'^fix|docs|feat\s+\(' 将字符串与字符串的固定子集进行匹配。我无法在匹配的字符串后添加零个或多个空格,后跟 (some texts) :
这可以实现吗?提前谢谢你:)
【问题讨论】:
-
是的,可以实现。到目前为止,您尝试过什么?
-
您应该更新您的问题以显示您到目前为止所做的尝试。您的示例与您的细分不一致,
q不固定。 -
@0x5453 我只能将第一个匹配字符串的模式与字符串的修复子集匹配:'^fix|docs|feat\s+。除此之外,到目前为止进展不大:(
-
@Alex 谢谢.. 我会在问题部分更新我目前取得的进展
-
@Alex 非常感谢。我将按照您回答部分的参考资料来了解您回答的正则表达式