正则表达式最多可包含一组字符

2024-09-30 22:23:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下文本

"Ceo and founder at xyz labs"
"bartender | manager"
"Buyer & Seller at sailaway"

我要找的是一个regex,它将围绕以下字符进行分区and, |, &。最后的结果应该是Ceo对于第一个,bartender对于第二个,Buyer对于第二个。以上是一些示例,使用拆分并不一定有效,因为这是一个大的文本文件


Tags: and文本managerbuyer字符atregex分区
3条回答
import re

p = re.compile(r'\band\b|&|\|')
p.split(string)[0]

\b确保您的是一个独立的单词

你可以用

re.split(r"\band\b|\||&", y)[0]

Python代码

>>> x = ['Ceo and founder at xyz labs', 'bartender | manager', 'Buyer & Seller at sailaway']
>>> import re
>>> [re.split(r"\band\b|\||&", y)[0].strip() for y in x]
['Ceo', 'bartender', 'Buyer']

你不需要正则表达式,你需要^{}

"Ceo and founder at xyz labs".split("and")[0].strip() == "Ceo"
"bartender | manager".split("|")[0].strip() == "bartender"
"Buyer & Seller at sailaway".split("&")[0].strip() == "Buyer"

相关问题 更多 >