什么是Python正则表达式中的?:含义?

什么是Python正则表达式中的?:含义?

更多Python相关文章,请阅读:Python 教程

非捕获组

如果我们不想让一个组捕获其匹配内容,我们可以写成Set(?:Value)的正则表达式。问号和冒号分别在开括号后面是创建一个非捕获组的语法。

正则表达式Set(Value)?匹配Set或SetValue。在第一种情况下,第一个(也是唯一的)捕获组仍保持为空。在第二种情况下,第一个捕获组匹配Value。问号出现在结尾是前一个标记可选的限定符。

Set(?:Value)匹配Setxxxxx,即所有以Set开头但不是后接Value的字符串。这就是一个非捕获组。

另一个具有非捕获组的正则表达式是color=(?:red|green|blue)。这个正则表达式没有限定符。

支持命名捕获的正则表达式语言通常有一个选项,可以把所有未命名组转换为非捕获组。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程