0

正規表現を考え出すのに何か助けが得られるのではないかと思っていました。さまざまなエイリアスの長いリストと、エイリアスが転送先のメールアドレスを含むファイルがあります。ファイルは次のような形式です。

alias:something@gmail.com
alias2:something2@gmail.com
alias3:something3@gmail.com
alias4:something4@gmail.com
alias5:something5@gmail.com

コロンの前の部分(エイリアス、エイリアス2など)を取得する正規表現を作成するにはどうすればよいですか?これが非常に簡単な質問である場合は申し訳ありませんが、私はPythonを初めて使用します。前もって感謝します!

4

2 に答える 2

1

split()非常に明白な区切り文字があるので、この問題に使用することをお勧めします。ただし、これは正規表現を使用したソリューションです。

lines = open(filename).readlines()
regex = re.compile("(.*):.*@gmail\.com")
aliases = [m.group(1) for m in map(lambda x: regex.match(x), lines) if m]
于 2013-02-28T21:04:39.560 に答える
1

ここにリスト内包表記があります

first_parts = [
    line.split(':')[0]
    for line in file("addresses.txt").readlines()
    if ':' in line
]

これに似ています

first_parts = []
lines = file("addresses.txt").readlines()
for lines in lines:
    if ":" in line:
        first = line.split(":")[0]
        first_parts.append(first)
于 2013-02-28T20:44:03.977 に答える