正则表达式搜索模式

时间:2014-10-23 13:11:38

标签: regex

我正在搜索一个文本文件,其中包含以下每行的单个单词:

其中包含两个连续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'比我有使用

1 个答案:

答案 0 :(得分:1)

你的模式看起来很好。

如果您想确保第一个字符是字母,请使用

pattern = '^[B-Zb-z][A-Za-z]*[Aa]{2}'