所以我试图从TFS中的变更集注释中提取缺陷编号。但是,人们输入数字有几种方式:
"Defect 1321: blah blah blah"
"Fixes HPQC 1427. Logic modified"
"- Bug 976 - Customer"
我对正则表达式不是很好,所以任何帮助都会很棒。我提前准备了字符串,并将#
和.
删除,因此我可以放心,我正在寻找以(defect|hpqc|bug)
开头的内容可选的空格({ {1}})然后一个数字(\s
)以空格(\d
)结尾,但这不起作用:
\s
我只想找到第一场比赛。 我想提取数字组件,但前提是前一个单词匹配。
我确信这是我对正则表达式创建的琐碎知识的结果。
答案 0 :(得分:2)
案件很重要(通常)并且你想要多个数字\d+
并且还有一个可选的数字符号,所以这样的东西应该有效,具体取决于你的系统:
(Defect|HPQC|Bug)\s*#?\s*(\d+)
这允许空格和#
或两者都不在数字之前,并捕获数字。知道你是使用python还是其他东西(标记你的问题)会有所帮助。
答案 1 :(得分:1)
我相信这个正则表达式适合你:
(?:defect|hpqc|bug)\s+(\d+)\s+
缺陷/ Bug#在匹配的组#1中可用
答案 2 :(得分:0)
如果您只想查看关键字之后的数字,那么正则表达式可能会有所帮助......
(?<=(Defect|HPQC|Bug)\s*#?\s*)\d+
祝你好运!
答案 3 :(得分:0)
我精确地对Beroe做出回应:
(?:Defect|HPQC|Bug)\s*\#?\s*(\d+)`
(?:Defect|HPQC|Bug)
:检测但不捕获
\#
:斜杠以禁用评论
它适用于Expresso