正则中的[中

正则表达式的() [] {}有不同的意思。

//() 是为了提取匹配的字符串

  • [] 是定义匹配的字符范围
  • {} 一般用来表示匹配的长度

括号

作用1: 把单独的项组合成子表达式,以便可以处理一个独立的单元那样用“|”、“*”、“+”、“?”等来对单元内的项进行处理。

例如:

1
2
3
4
// 可以匹配 字符串 java ,其后有没有 “script” 无所谓
/java(script)?/
// 可以匹配 "ef",也可 大专栏  正则中的[中以匹配 "ab""ef"一次或多次重复
/(ab|cd)+|ef/

作用2: 在完整的模式中定义子模式,当一个正字表达式成功地和目标字符串相匹配时,可以从目标串中抽出和圆括号中的子模式相匹配的部分。

假设,我们正在匹配一个或多个小写字母后面跟随了一位和多位数字,则可以使用 /[a-z]+d+/ ,假设我们只关心每个匹配尾部的数字,如果将模式的数字部分放在括号中/(/[a-z]+(d+)/)/,就可以从检索到的匹配中抽取数字了。

作用3: 允许在同一正则表达式的后部引用前面的子表达式。;

表达式中有几个()就有几个相应的匹配字符串。

(s*)表示连续空格的字符串。

原文地址:https://www.cnblogs.com/lijianming180/p/12402078.html