在第2个和第3个逗号之间提取单词

use*_*570 3 python regex

我是regex的全新手,所以这个问题对你们许多人来说似乎微不足道.我想提取第二个和第三个逗号之间的单词,如句子中所示:

Chateau d'Arsac, Bordeaux blanc, Cuvee Celine, 2012
Run Code Online (Sandbox Code Playgroud)

我试过了:(?<=,\s)[^,]+(?=,)但这并不能归还我想要的东西......

the*_*eye 5

data = "Chateau d'Arsac, Bordeaux blanc, Cuvee Celine, 2012"
import re
print re.match(".*?,.*?,\s*(.*?),.*", data).group(1)
Run Code Online (Sandbox Code Playgroud)

产量

Cuvee Celine
Run Code Online (Sandbox Code Playgroud)

但是对于这个简单的任务,你可以简单地基于,这样分割字符串

data.split(",")[2].strip()
Run Code Online (Sandbox Code Playgroud)


mol*_*are 5

在这种情况下,我认为使用简单的逗号分隔更容易。

>>> s = "Chateau d'Arsac, Bordeaux blanc, Cuvee Celine, 2012"
>>> s.split(',')[2]
' Cuvee Celine'
Run Code Online (Sandbox Code Playgroud)

  • 对于可以使用“str.split()”(或“str”上的任何其他方法)的问题,这通常比使用正则表达式要快得多...... (2认同)