0

簡単な正規表現の質問。

行の最初の桁とその行の終わりにある単語を検索する式が必要です。(これにより、そこにある数字はすべて除外されます)

IE文字列が「12345hello」の場合、正規表現で「1hello」を検索します

または、同じものを見つけるのが「12345hel45667lo」であっても。

私は最初の桁が下にありますが、うまくいくと思った私の表現は次のとおりです。

print re.findall(r'^\d\D+',string)

これにより、空の角かっこ、または\Dを取り出した場合は最初の桁が表示されます。何が得られますか?

編集:私が|を入れた場合 またはそれから私は私が望むものを手に入れます。文字列内の単語を最初の数字と一緒に、ただし別々のグループで返します。すべてを1つにしたいと思います。

4

2 に答える 2

2
print re.findall(r'^\d|\D+',string)

print re.sub(r'(?<!^)\d', '', "12345hel45667lo9a") -> '1helloa'
于 2012-09-27T01:45:28.880 に答える
0

私が考えることができる唯一のことは、文字列をスキャンして文字を結合する for ループを実行することです。

于 2012-09-27T23:41:38.093 に答える