首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEX非捕获组不工作

REGEX非捕获组不工作
EN

Stack Overflow用户
提问于 2012-09-13 07:02:15
回答 2查看 916关注 0票数 1

数据:

今天13/9 :阿里斯蒂德,阿里斯蒂德,阿里斯提迪斯,科尼利奥斯,科尼利奥斯,科涅莉亚(资料来源: www.namedays.gr)

Regex模式:

代码语言:javascript
复制
/(?:today \d{1,2}\/\d{1,2}\s\:\s)([\w[:blank:],]+)(?:\s\(source\s\:\swww\.namedays\.gr\))/

结果:

代码语言:javascript
复制
Array
(
    [0] => today 13/9 : Aristides, Aristeides, Aristeidis, Kornelios, Kornilios, Kornelia (source : www.namedays.gr)
    [1] => Aristides, Aristeides, Aristeidis, Kornelios, Kornilios, Kornelia
)

我的问题是,为什么我的模式不以名称-> Array1返回,为什么在我的结果数组中也包括非捕获组?

我搞不懂。我只期待Array1。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-13 07:04:24

0th捕获组总是包含整个匹配的文本。第一个捕获组总是$1 (或命名的)。

如果这是一个问题,你可以随时unset()它。

票数 3
EN

Stack Overflow用户

发布于 2012-09-13 07:06:39

一切都是正确的。第0组总是整个比赛,不管是哪组,第一组是第一组的结果。

例如,见匹配医生,

如果提供匹配,则会填充搜索结果。$matches将包含匹配完整模式的文本,$matches1将包含匹配第一个捕获的括号大小子模式的文本,依此类推。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12401048

复制
相关文章

相似问题

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