我正在搜索一个文本文件,其中包含以下每行的单个单词:
其中包含两个连续a但但不以a
开头的行import re
import sys
pattern = '^[^Aa][A-Za-z]*[Aa]{2}'
regexp = re.compile(pattern)
inFile = open('words.txt', 'r')
outFile = open('exercise04.log', 'w')
for line in inFile:
match = regexp.search(line)
if match:
outFile.write(line)
inFile.close()
outFile.close()
我主要担心的是我的正则表达式搜索模式而不是python本身。我理解开头的^ [^ Aa]会使第一个字符停止为'A'或'a',但有没有更好的方法来突破这个语句来检查每个单词中的两个连续'a'比我有使用
答案 0 :(得分:1)
你的模式看起来很好。
如果您想确保第一个字符是字母,请使用
pattern = '^[B-Zb-z][A-Za-z]*[Aa]{2}'