正则表达式中的小括号用法

正则表达式中的小括号用法

小括号中的连续字符作为可选:

“Nov” -match “\bNov(ember)?\b” 返回true

“November” -match “\bNov(ember)?\b” 返回true

正则表达式中的小括号的作用是对字符进行分组,并保存匹配的文本。与位于小括号之间的模式匹配的内容都会被捕获

“92/01/2009Description” -match “^(\d)(\d)”

返回值为9 ,2

在这里插入图片描述

当小括号中的内容不是想捕获的对象时,即小括号的内容不作为捕获对象,采用非捕获小括号可以提高匹配效率。

“92/01/2009Description” -match “^(\d)(?:\d)”

返回值为9
在这里插入图片描述

“92/01/2009Description” -match “^(?:\d)(?:\d)”

返回 2
在这里插入图片描述

为每个子表达式定义名称:

“92/01/2009Description” -match “^(?\d)(?\d)”

$matches.first #返回9
在这里插入图片描述

()小括号就是括号内看成一个整体 ,将基本的单元合成一个大的单元。括号匹配字符串,并记住匹配结果,匹配结果则保存在结果数组中。如果只是用它来做分组,方法是在左括号的后边加上:?,这里第一个圆括弧只是用来分组,而不会占用捕获变量。
在这里插入图片描述

中括号就是匹配括号内的其中一个。

大括号就是匹配几次

| 表示 或 例:“Bob and Ted” -match “Alice|Bob” 返回true

“Peter and Bob” -match “and (Bob|Willy)” 返回true