最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

正则表达式中(RegExp)的字符和转译

IT圈 admin 7浏览 0评论

正则表达式中(RegExp)的字符和转译

正则表达式中常用的特殊字符:
符号含义
^匹配的起始位置,^在 [ ] 中表示反义
$匹配的结束位置
.可以任意匹配任意一个字符 ,[ ] 中的 . 是字符 .
匹配前面的字符0次或一次,{0,1};所有的贪婪匹配,后面加个?,就是非贪婪匹配,情景为:当前后有别的内容,需要对中间的内容进行匹配时,先匹配最小的
+匹配前面的字符一次或更多次,至少有一次{1, }
*匹配前面的字符n次,可看作通配符,{0, }
()群组,将圆括号内的匹配放置到一个组内,$1就是第一个群组,$2就是第二个群组,$3就是第三个群组… ,使用match()时,如果不加全局,则除返回找到的元素外,还返回群组的元素
{n}匹配前面的字符n次;当n为0时,意味着匹配一个空字符,即”“
{n,}匹配前面的字符至少n次
{n,m}匹配前面的字符至少n次,最大允许m次,默认为贪婪匹配 ,先匹配最大的
[ ][ ] 里面内容可以任意匹配一个字符,可以用0-9 a-z A-Z
[ ^ ]在[]中第一位使用 ^,表示除了 ^ 后面的字符外都满足; ^ 如果在 [ ] 不是第一位,就表示字符 ^
|或者,可以用来匹配多个字符或者另外的字符,如果
\通常用作转义字符
正则表达式中常用的转义字符序列:
字符序列含义
\d代表数字 [ 0-9 ]
\D代表非数字 [ ^0-9 ]
\w表示任何字母、数字、下划线 [0-9a-zA-Z_]
\W表示任何非字母、数字、下划线 [^0-9a-zA-Z_]
\s表示单个空白字符,如空格或制表符
\S表示单个非空白字符
正则表达式中常用的转义序列:
字符序列含义
\n换行
\r回车
\b退格符
\t水平制表符,Tab键
\\反斜杠符
\[左中括号
\]右中括号
\’单引号
.
断言:
表达式     意义
(?=X)先行断言。仅当子表达式 X 在 此位置的右侧匹配时才继续匹配。例如,\w+(?=\d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。
(?!X)先行断言。仅当子表达式 X 不在 此位置的右侧匹配时才继续匹配。例如,例如,\w+(?!\d) 与后不跟数字的单词匹配,而不与该数字匹配 。
(?<=X)后发断言。仅当子表达式 X 在 此位置的左侧匹配时才继续匹配。例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。
(?<!X)后发断言。仅当子表达式 X 不在此位置的左侧匹配时才继续匹配。例如,(?<!19)99 与不跟在 19 后面的 99 的实例匹配

正则表达式中(RegExp)的字符和转译

正则表达式中常用的特殊字符:
符号含义
^匹配的起始位置,^在 [ ] 中表示反义
$匹配的结束位置
.可以任意匹配任意一个字符 ,[ ] 中的 . 是字符 .
匹配前面的字符0次或一次,{0,1};所有的贪婪匹配,后面加个?,就是非贪婪匹配,情景为:当前后有别的内容,需要对中间的内容进行匹配时,先匹配最小的
+匹配前面的字符一次或更多次,至少有一次{1, }
*匹配前面的字符n次,可看作通配符,{0, }
()群组,将圆括号内的匹配放置到一个组内,$1就是第一个群组,$2就是第二个群组,$3就是第三个群组… ,使用match()时,如果不加全局,则除返回找到的元素外,还返回群组的元素
{n}匹配前面的字符n次;当n为0时,意味着匹配一个空字符,即”“
{n,}匹配前面的字符至少n次
{n,m}匹配前面的字符至少n次,最大允许m次,默认为贪婪匹配 ,先匹配最大的
[ ][ ] 里面内容可以任意匹配一个字符,可以用0-9 a-z A-Z
[ ^ ]在[]中第一位使用 ^,表示除了 ^ 后面的字符外都满足; ^ 如果在 [ ] 不是第一位,就表示字符 ^
|或者,可以用来匹配多个字符或者另外的字符,如果
\通常用作转义字符
正则表达式中常用的转义字符序列:
字符序列含义
\d代表数字 [ 0-9 ]
\D代表非数字 [ ^0-9 ]
\w表示任何字母、数字、下划线 [0-9a-zA-Z_]
\W表示任何非字母、数字、下划线 [^0-9a-zA-Z_]
\s表示单个空白字符,如空格或制表符
\S表示单个非空白字符
正则表达式中常用的转义序列:
字符序列含义
\n换行
\r回车
\b退格符
\t水平制表符,Tab键
\\反斜杠符
\[左中括号
\]右中括号
\’单引号
.
断言:
表达式     意义
(?=X)先行断言。仅当子表达式 X 在 此位置的右侧匹配时才继续匹配。例如,\w+(?=\d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。
(?!X)先行断言。仅当子表达式 X 不在 此位置的右侧匹配时才继续匹配。例如,例如,\w+(?!\d) 与后不跟数字的单词匹配,而不与该数字匹配 。
(?<=X)后发断言。仅当子表达式 X 在 此位置的左侧匹配时才继续匹配。例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。
(?<!X)后发断言。仅当子表达式 X 不在此位置的左侧匹配时才继续匹配。例如,(?<!19)99 与不跟在 19 后面的 99 的实例匹配
发布评论

评论列表 (0)

  1. 暂无评论