求一个正则表达式语法

如需转载请注明文章出处和来源网址:

如对文章有任何疑问请提交到,或有任何网页制作CSS问题立即到发贴求解 或 直接DIVCSS5网页顶部搜索遇到DIVCSS疑问
文章修订日期: 21:52 原创:

}

\G 上一个匹配的结尾
\Z 输入的结尾僅用于最后的结束符(如果有的话)

反斜线字符 ('\') 用于引用转义构造,如上表所定义的同时还用于引用其他将被解释为非转义构造的字符。因此表达式 \\ 与单个反斜线匹配,而 \{ 与左括号匹配

在不表示转义构造的任何字母字符前使用反斜线都是错误的;它们是为将来扩展正則表达式语法语言保留的。可以在非字母字符前使用反斜线不管该字符是否非转义构造的一部分。

根据 Java Language Specification 的要求Java 源代码的字符串中的反斜线被解释为 Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线表示正则表达式语法受到保护,不被 Java 字节码编译器解释例如,当解释为正则表达式语法时字符串字面值 "\b" 与单个退格字符匹配,而 "\\b" 与单词边界匹配字符串字面值 "\(hello\)" 是非法的,将导致编译时错誤;要与字符串 (hello) 匹配必须使用字符串字面值 "\\(hello\\)"。

字符类可以出现在其他字符类中并且可以包含并集运算符(隐式)和交集运算符 (&&)。并集運算符表示至少包含其某个操作数类中所有字符的类交集运算符表示包含同时位于其两个操作数类中所有字符的类。

字符类运算符的优先级如下所示按从最高到最低的顺序排列:

注意,元字符的不同集合实际上位于字符类的内部而非字符类的外部。例如正则表达式語法 . 在字符类内部就失去了其特殊意义,而表达式 - 变成了形成元字符的范围

行结束符 是一个或两个字符的序列,标记输入字符序列的行結尾以下代码被识别为行结束符:

如果未指定 DOTALL 标志,则正则表达式语法 . 可以与任何字符(行结束符除外)匹配

默认情况下,正则表达式语法 ^ 和 $ 忽略行结束符仅分别与整个输入序列的开头和结尾匹配。如果激活 MULTILINE 模式则 ^ 在输入的开头和行结束符之后(输入的结尾)才发苼匹配。处于 MULTILINE 模式中时$ 仅在行结束符之前或输入序列的结尾处匹配。

捕获组可以通过从左到右计算其开括号来编号例如,在表达式 ((A)(B(C))) 中存在四个这样的组:

组零始终代表整个表达式。

之所以这样命名捕获组是因为在匹配中保存了与这些组匹配的输入序列的每个子序列。捕获的子序列稍后可以通过 Back 引用在表达式中使用也可以在匹配操作完成后从匹配器获取。

与组关联的捕获输入始终是与组最近匹配的孓序列如果由于量化的缘故再次计算了组,则在第二次计算失败时将保留其以前捕获的值(如果有的话)例如将字符串 "aba" 与表达式 (a(b)?)+ 相匹配,会将第二组设置为 "b"在每个匹配的开头,所有捕获的输入都会被丢弃

以 (?) 开头的组是纯的非捕获 组,它不捕获文本也不针对组合计進行计数。

以上就是小编为大家带来的正则表达式语法(语法篇推荐)全部内容了希望大家多多支持脚本之家~

}

我要回帖

更多关于 正则表达式语法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信