文本如下:
A 公司生产的 aa 产品,B 公司生产的 bb 产品,C 公司生产的 cc 产品,...
用 Python 该怎么把所有的产品名称( aa、bb、cc 等)提取出来保存为列表呢?谢谢!
(product = re.findall(r"生产的(.*),", article) 为啥不对呢?)
1
welkinzh 2018 年 1 月 1 日
英文和中文之间有空格吧,还有逗号前面要加个反斜杠
|
2
radiocontroller 2018 年 1 月 1 日 (.*?)这里加个问号(懒惰匹配)
|
3
ohmyzsh OP @radiocontroller 多谢。
|
5
Xiaobaixiao 2018 年 1 月 2 日
(?<=生产的).+(?=产品)
|
6
ohmyzsh OP @Xiaobaixiao 试了下,您这个输出是空值
|
7
Xiaobaixiao 2018 年 1 月 3 日
@ohmyzsh 结合 #1 #2 的 那就是:(?<=生产的\s)(.*?)(?=\s 产品)
|
8
ohmyzsh OP @Xiaobaixiao 还是空值😅
|
9
ohmyzsh OP |
10
Xiaobaixiao 2018 年 1 月 3 日
@ohmyzsh 不会吧……
>>> article='''A 公司生产的 aa 产品,B 公司生产的 bb 产品,C 公司生产的 cc 产 品''' >>> re.findall('(?<=生产的\s)(.*?)(?=\s 产品)',article) ['aa', 'bb', 'cc'] |
11
ohmyzsh OP @Xiaobaixiao 把 re.findall('(?<=生产的\s)(.*?)(?=\s 产品)',article) 产品前的空格去掉可以了,多谢回复,新年好!
|