1

アドレスパターンを抽出するためにPython正規表現を使用しています。たとえば、次のように追加のリストがあります。

12buixuongtrach 
34btrannhatduat 
25bachmai 
78bhoangquocviet

次のようにアドレスを絞り込みたい:

12 buixuongtrach
34b trannhatduat 
23 bachmai 
78b hoangquocviet

ヒントコードを教えてください。

どうもありがとう

4

2 に答える 2

3

非常に単純な正規表現を使用して数字を文字から切り離すことができますが、人々がコメントで言ったように、それらの b がいつ数字の一部であるべきか、いつテキストの一部であるべきかを知る方法はありません.

import re
text = """12buixuongtrach 
34btrannhatduat 
25bachmai 
78bhoangquocviet"""

unmatched = text.split()
matched = [re.sub('(\d+)(.*)', '\\1 \\2', s) for s in unmatched]

これにより、次のことが得られます。

>>> matched
['12 buixuongtrach', '34 btrannhatduat', '25 bachmai', '78 bhoangquocviet']

正規表現は、文字列の先頭にある 1 つ以上の数字を取得して group\1に入れ、残りの文字列を group に入れるだけ\2です。

于 2012-11-20T06:29:36.783 に答える
0

ご回答ありがとうございます。私はついに回避策を見つけました。私は以下のパターンを使用しましたが、それは魅力のように機能します:)

'[a-zA-Z]+|[\/0-9abcd]+(?!a|u|c|h|o|e)'
于 2012-11-20T08:06:04.577 に答える