我正在尝试使用 python 打印并最终将信息和数据写入文件。我将文件读入名为 List[]
的数组,然后使用正则表达式搜索每一行。我想对文件中的每一行执行此操作,但是当我执行此操作时
counter=0
while counter <= OrderNum:
Info=re.match('^.{0,12}',List[counter])
Data=re.search('=....................',List[counter])
print counter
print 'is less than'
print OrderNum
print Info.group(counter)
print Data.group(counter)
counter+=1
第一次迭代 [0] 一切都很好,但有一次
Output
1
is less than
4
我收到以下错误
Traceback (most recent call last):
File "C:\Users\*******\workspace\Jython\regularexpressions.py", line 35, in <module>
print Info.group(counter)
IndexError: no such group
最佳答案
match.group(n)
返回正则表达式组 n
(如果 n=0,则返回整个匹配项)。正则表达式中的组是括号内的内容,并且您会得到异常,因为您的表达式中没有任何组。向我们展示您尝试匹配的数据,我们将帮助您提供更好的表达方式。
关于python - 在 while 循环中输出 re.search 和 re.match 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19486706/