我试图找出一个正则表达式模式来查找字符串中的所有出现:
string = "List[5] List[6], List[10], List[100:] List[-2:] List[-2]" re.findall("List[(.*?)]" , string) # Expected output ['5', '6', '10', '100:', '-2:', '-2'] # Output: []
什么是一个很好的正则表达式模式来获取索引之间的数字?
方括号是Regex语法中的特殊字符.所以,你需要逃避它们:
>>> import re >>> string = "List[5] List[6], List[10], List[100:] List[-2:] List[-2]" >>> re.findall("List\[(.*?)\]", string) ['5', '6', '10', '100:', '-2:', '-2'] >>>