繁体   English   中英

括号内的单词在python正则表达式中不起作用

[英]Word inside brackets not working in python regular expression

我正在尝试从文件中获取所有测试用例列表。 例如。 void DTC_SetHighBitRate_001()

re.findall("void S?[DS]TC_.+\(\)", testCaseFile)

但是现在,很少有这样的测试用例被修改,

void DTC_SetHighBitRate_001(void) 
void DTC_SetHighBitRate_001(Void)

我试图像这样使用正则表达式:

re.findall("void S?[DS]TC_.+\([vV]oid)*(\)", testCaseFile)

但这没有用。 我只想在方括号内使用'void''Void' 我怎样才能做到这一点?

编辑:对不起,即使没有'void',也应该允许。

  1. 空括号-()
  2. 虚空
  3. 空洞

让我给你一个改进的版本:

re.findall("void S?[DS]TC_.+\([vV]oid\)", testCaseFile)

这将仅查找无效的事件(请注意*已删除)

re.findall("void S?[DS]TC_.+\(([vV]oid)?\)", testCaseFile)

这将找到所有情况:括号为空,且为void

如果只想获得...(void)或...(Void)术语,请尝试此

re.findall("void S?[DS]TC_.+\([vV]oid]*\)", testCaseFile)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM