首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配多个单词

匹配多个单词
EN

Stack Overflow用户
提问于 2016-06-03 17:59:12
回答 4查看 111关注 0票数 0

我有以下几个短语,我想与它们相匹配:

“德拉索塔:你好”-> "De la Sota“ "Guini:你好“-> "Guini” 普拉特·盖伊:你好,->“普拉特·盖伊”

我使用的是r"(\w+):",但它只匹配:之前的最后一个单词。

EN

回答 4

Stack Overflow用户

发布于 2016-06-03 18:01:11

只需使用以下模式:

代码语言:javascript
复制
/^(.*):/gm

现在,$1包含了您所需的内容。

在线演示

注意到我很确定有一种比regex更好的方法来做这件事。但我不是蟒蛇专家。

票数 2
EN

Stack Overflow用户

发布于 2016-06-03 18:03:22

str.split(":")[0]应该工作,str是您想要拆分的字符串。

代码语言:javascript
复制
>>> str = "De la Sota: Hello" 
>>> str.split(":")[0]
'De la Sota'

这是通过将字符串拆分为一个列表来实现的,其中参数是分隔符。如果将冒号指定为分隔符,则它将将字符串拆分为由冒号分隔的单个短语列表。[0]只是引用列表的第一个值,这正是您想要的。

票数 2
EN

Stack Overflow用户

发布于 2016-06-03 18:02:42

将\w+更改为.+或.*

代码语言:javascript
复制
input_text = ''' De la Sota: Hello

Guini: Hello

Prat Gay: Hello'''

print(re.findall(r'(.+):',input_text)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37620761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档