我希望能有点帮助阅读/解释这个正则表达式(Python语法):
(?:^|[b_./-])[Tt]est
(NoTest在查找测试文件时默认重新使用它作为筛选器)。 Described here in the 'Extended usage' section.
编辑:If you came here due to looking into nose, you may want to look into pytest as an alternative.
我到目前为止的理解: 开放式paren问号冒号是一个“扩展”,即将匹配结果中的字符串中的项排除在字符串中。(从我的角度来看,仅仅是试图理解给定文件名是否满足或失败表达式)意味着我可以忽略它(?)
最后一部分“Tt]est”是指测试或测试。
其余的意思是模糊的。插入符号表示“匹配字符串的开始”,垂直栏表示或,括号中的字符(b、下划线、句点、斜杠、减号)是另一种匹配。换句话说,匹配字符串的起始或5个指定字符中的一个,然后是测试或测试?这意味着字符串“bTest”和“/Test”将匹配(而且它们显然不匹配)。
感谢您对我的模式的解释有任何帮助!
非捕获组
(?: ... )
对正则表达式的匹配没有影响…所以在一行的开头它会匹配:
^{pr2}$或文本中任何位置的以下选项之一:
(?:...)
是一个非捕获组;与(...)
相同,但不会产生捕获的组值。它限制|
备用组中包含的内容。该组要么匹配字符串的开头,要么匹配字符b
、_
、.
、/
或{因此,表达式将为在一行开头包含}的输入文本生成匹配项,或者如果直接以
Test
或{b
开头,以及下划线、点、斜杠或短划线生成匹配项。在'bTest'
和/Test
do匹配:这个
^{pr2}$b
很令人惊讶,所以我看了一下{a1}。文档缺少反斜杠,不是b
匹配,而是\b
:\b
是一个单词边界,任何东西都不是test
或Test
前面的单词字符。这很可能是一个bug;\b
不能是字符类的一部分,那里的\b
不起作用。相反,它将被视为一个退格字符。在这个问题是reported to the project3年半前的事了。在
相关问题 更多 >
编程相关推荐