正则表达式元字符含义,下列的这些仅用于复习或了解,正则表达式需要多练习才能精熟,:-)
. :就是点“.”,用于匹配任意一个单个的字符;
\ :"\",用于对紧接于后它的字符进行转义;
[和]:表示一个字符集合,两个字符间的字符都是集合组成部分;
- :字符区间连字符,用于简化字符区间定义;
| :表示前后两个元素的并集;
^ :用在字符集内[^pattern],用于对集合[pattern]取非;
+ :匹配一个或多个前面出现的字符或字符集;
* :匹配零个或多个前面出现的字符或字符集;
{和}:用于控制上面两个元字符重复性匹配的重复次数;
? :匹配零个或一个前门出现的字符或字符集;
防止过度匹配的懒惰型元字符(匹配尽可能少的字符):
*? :*的懒惰版本;
+? :+的懒惰版本;
{}? :{}的懒惰版本;
(和):子表达式,将子表达式内容视为一个独立的元素;
回溯引用:指模式中的部分引用前面定义的子表达式(的值),不同的引擎实现差别很大;
(?(back-ref)true-regEx|false-regEx):回溯引用条件,back-ref是回溯引用的子表达式(数值),true-regEx是前面的回溯引用存在情况下的正则表达式,false-regEx是回溯引用不存在情况下的正则表达式;
?= :向前查找,指定一个必须匹配但不在结果中返回的模式(须以子表达式的形式出现);
?<= :向后查找,指定一个必须匹配但不在结果中返回的模式(须以子表达式的形式出现,但 并非所有引擎支持);
?! :负向前查找,将向前查找不与给定模式相匹配;
?<! :负向后查找,将向后查找不与给定模式相匹配;
空白元字符集:
[\b]:回退(并删除)一个字符(Backspace键);
\f :换页符;
\n :换行符;
\r :回车符;
\t :制表符(Tab键);
\v :垂直制表符;
数字元字符:
\d :任何一个数字字符(等价于[0-9]);
\D :任何一个非数字字符(等价于[^0-9]);
字母数字元字符:
\w :任何一个字母数字字符或下划线字符(等价于[a-zA-Z0-9_]);
\W :任何一个非字母数字字符或下划线字符(等价于[^a-zA-Z0-9_]);
空白字符元字符:
\s :任何一个空白字符(等价于[\f\n\r\t\v]);
\S :任何一个非空白字符(等价于[^\f\n\r\t\v]);
匹配十六进制或八进制:
\x :匹配十六进制;
\0 :匹配八进制;
匹配POSIX字符类:
暂略;
位置匹配(单词边界):
\b :匹配且只匹配一个位置,不匹配任何字符(单词边界);
\B :不匹配单词边界
用于大小写转换的元字符:
\E :结束\L或\U转换;
\l :把下一个字符转换为小写;
\L :把\L到\E之间的字符全部转换为小写;
\u :把下一个字符转换为大写;
\U :把\L到\E之间的字符全部转换为大写;
位置匹配(字符串边界):
^ :字符串开头;
$ :字符串结尾;
?m :启用分行匹配模式(很多实现不支持);
. :就是点“.”,用于匹配任意一个单个的字符;
\ :"\",用于对紧接于后它的字符进行转义;
[和]:表示一个字符集合,两个字符间的字符都是集合组成部分;
- :字符区间连字符,用于简化字符区间定义;
| :表示前后两个元素的并集;
^ :用在字符集内[^pattern],用于对集合[pattern]取非;
+ :匹配一个或多个前面出现的字符或字符集;
* :匹配零个或多个前面出现的字符或字符集;
{和}:用于控制上面两个元字符重复性匹配的重复次数;
? :匹配零个或一个前门出现的字符或字符集;
防止过度匹配的懒惰型元字符(匹配尽可能少的字符):
*? :*的懒惰版本;
+? :+的懒惰版本;
{}? :{}的懒惰版本;
(和):子表达式,将子表达式内容视为一个独立的元素;
回溯引用:指模式中的部分引用前面定义的子表达式(的值),不同的引擎实现差别很大;
(?(back-ref)true-regEx|false-regEx):回溯引用条件,back-ref是回溯引用的子表达式(数值),true-regEx是前面的回溯引用存在情况下的正则表达式,false-regEx是回溯引用不存在情况下的正则表达式;
?= :向前查找,指定一个必须匹配但不在结果中返回的模式(须以子表达式的形式出现);
?<= :向后查找,指定一个必须匹配但不在结果中返回的模式(须以子表达式的形式出现,但 并非所有引擎支持);
?! :负向前查找,将向前查找不与给定模式相匹配;
?<! :负向后查找,将向后查找不与给定模式相匹配;
空白元字符集:
[\b]:回退(并删除)一个字符(Backspace键);
\f :换页符;
\n :换行符;
\r :回车符;
\t :制表符(Tab键);
\v :垂直制表符;
数字元字符:
\d :任何一个数字字符(等价于[0-9]);
\D :任何一个非数字字符(等价于[^0-9]);
字母数字元字符:
\w :任何一个字母数字字符或下划线字符(等价于[a-zA-Z0-9_]);
\W :任何一个非字母数字字符或下划线字符(等价于[^a-zA-Z0-9_]);
空白字符元字符:
\s :任何一个空白字符(等价于[\f\n\r\t\v]);
\S :任何一个非空白字符(等价于[^\f\n\r\t\v]);
匹配十六进制或八进制:
\x :匹配十六进制;
\0 :匹配八进制;
匹配POSIX字符类:
暂略;
位置匹配(单词边界):
\b :匹配且只匹配一个位置,不匹配任何字符(单词边界);
\B :不匹配单词边界
用于大小写转换的元字符:
\E :结束\L或\U转换;
\l :把下一个字符转换为小写;
\L :把\L到\E之间的字符全部转换为小写;
\u :把下一个字符转换为大写;
\U :把\L到\E之间的字符全部转换为大写;
位置匹配(字符串边界):
^ :字符串开头;
$ :字符串结尾;
?m :启用分行匹配模式(很多实现不支持);