0

項目リスト内の各リストに含まれる名前の数を数えようとしているため、以下の検索に示されている正規表現を完成させる方法がわかりません。

コード スニピット

items = ["List: Name-Here", "List: Name-Here, Here, Here'Here, Here-Here'Here, Here Here Here", "List: Here, Here Here, Here Here Here Here"]

for item in items:
    pull1 = re.search(r'(List:)\s+', item)
    pull1 = len(pull1.split(","))
    print pull1,"\n"

期待される出力:

1
5
3

何か案は?
- ハイフレックス

4

1 に答える 1

4

ここでは正規表現は必要ありません。すべての名前はコンマで区切られています。したがって、それを分割するだけで、必要なものを取得できます。

>>> items = ["List: Name-Here", "List: Name-Here, Here, Here'Here, Here-Here'Here, Here Here Here", "List: Here, Here Here, Here Here Here Here"]
>>> [len(x.split(",")) for x in items]
[1, 5, 3]
>>>

コメントに応じて編集:

これがあなたが望むものだと思います:

from re import findall

mystr = """
List: Name-Here
List: Name-Here, Here, Here'Here, Here-Here'Here, Here Here Here
List: Here, Here Here, Here Here Here Here
"""

items = findall("List:(.+)", mystr)
for item in items:
    print len(item.split(","))

出力:

1
5
3
于 2013-10-23T17:00:29.230 に答える