首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模式内的模式?

模式内的模式?
EN

Stack Overflow用户
提问于 2017-03-30 04:55:39
回答 3查看 43关注 0票数 0

我想从Alta, Utah, USA上捕捉到asd Alta, Utah, USA qwe。基本上我是想从短信中捕捉位置。这并不是一个完美的方法,但这些地方必须以大写开头,并使用逗号,然后用大写的另一个词。

到目前为止,我已经写到:

代码语言:javascript
复制
\s[A-Z][a-z]+[,]?

我想做多个单词,而不仅仅是第一个单词,Alta。这是我在其他方括号内使用方括号的尝试。

代码语言:javascript
复制
[\s[A-Z][a-z]+[,]?]+

但这不起作用,所以它在语法上肯定是不正确的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-30 05:06:04

根据任择议定书的评论更新:

代码语言:javascript
复制
(?:\s*[A-Z][A-Za-z]+[,\s])+

演示

原来的答案:

代码语言:javascript
复制
\b([A-Z][a-zA-Z]+),?

原始演示

你将在每一场比赛中得到第一组国家的名字。

票数 2
EN

Stack Overflow用户

发布于 2017-03-30 05:18:00

我想这就是你需要的:

代码语言:javascript
复制
([A-Z][a-zA-Z]+)(,\s*([A-Z][a-zA-Z]+))*

尽管@Rizwan (在他的评论中)指出的要求仍有待理解。

Debuggex Demo

票数 2
EN

Stack Overflow用户

发布于 2017-03-30 05:47:34

刚刚入党:

代码语言:javascript
复制
import re
dirty = "asd Alta, Utah, USA qwe"
p = re.compile("([A-Z][a-zA-Z]+)")
re.findall(p,dirty)

产出:

代码语言:javascript
复制
['Alta', 'Utah', 'USA']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43108841

复制
相关文章

相似问题

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