0

我有一个小问题来提取粗体字:

梅多克, Rouge
2ème Vin, Margaux , Rosé
2ème vin, Pessac-Léognan , Blanc

我必须进一步澄清我的问题:我正在尝试从网页中提取一些信息,所以每次我发现一种句子但我很感兴趣,其中粗体。我给你树 wab 页面的地址:

有任何想法吗?

4

2 回答 2

2

您可以使用积极的前瞻来查看我们正在寻找的单词是否RougeBlanc或之后:Rosé

>>> import re
>>> l = [u"Médoc, Rouge", u"2ème Vin, Margaux, Rosé", u"2ème vin, Pessac-Léognan, Blanc"]
>>> for s in l:
...     print re.search(ur'([\w-]+)(?=\W+(Rouge|Blanc|Rosé))', s, re.UNICODE).group(0)
... 
Médoc
Margaux
Pessac-Léognan
于 2013-09-03T13:01:10.730 回答
1

似乎它总是逗号分隔列表中的倒数第二个术语?您可以拆分并选择倒数第二个,例如:

>>> myStr = '2ème vin, Pessac-Léognan, Blanc'
>>> res = myStr.split(', ')[-2]

否则,如果你只想要正则表达式......我会建议这个:

>>> res = re.search(r'([^,]+),[^,]+$', myStr).group(1)

必要时修剪空间。

于 2013-09-03T12:56:56.340 回答