当前位置 : 主页 > 编程语言 > 其它开发 >

正则表达式知识概览

来源:互联网 收集:自由互联 发布时间:2022-07-12
本文中用n指代具体字符 概述 核心——正则表达式是匹配模式,要么匹配字符,要么匹配位置。 组成——修饰符、元字符、量词、特殊符号和特定语言API。 基础量词 n+ 大于等于1个字符

本文中用n指代具体字符

概述
  • 核心——正则表达式是匹配模式,要么匹配字符,要么匹配位置。

  • 组成——修饰符、元字符、量词、特殊符号和特定语言API。

基础 量词
n+     大于等于1个字符
n*     大于等于0个字符
n?     包含0个或1个字符
n{x}   包含x个字符
n{x,}  包含x个以上字符
n{x,y} 包含x到y个字符
修饰符
g 全局匹配
i 字母大小写不敏感
m 多行匹配
y 粘连匹配
s 拓展点字符(任意字符)
u 处理超范围Unicode字符
元字符
\d\D 数字/非数字
\w\W 字母/非字母
\s\S 空白/非空白
\b\B 单词/非单词边界
\xxx 查找8进制字符
\udd 查找16进制
\数字 反向引用
特殊符号
()         分组
[]         字符组
|          或
?=n/?!n    先行断言
?<=n/><!n  后行断言
^          匹配开头
$          匹配结尾
特定语言API
RegExp.prototype.compile  // 编译正则表达式。
RegExp.prototype.test     // 检索字符串中指定的值。返回 true 或 false。
RegExp.prototype.test     // 检索字符串中指定的值。返回找到的值,并确定其位置。

String.prototype.search    // 检索与正则表达式相匹配的值。
String.prototype.match     // 找到一个或多个正则表达式的匹配。
String.prototype.replace   // 替换与正则表达式匹配的子串。
String.prototype.split     // 把字符串分割为字符串数组。
应用 位置
开头/结尾:^、$
单词边界:\b、\B
断言/环视:?=n、?!n、?<=n、?<!n
模糊匹配
(量词)横向模糊匹配:n{x,y}、n{x,}、n+、n*、n?
(字符组)纵向模糊匹配:[]、\d、\D、\w、\W、\s、\S
分组/分支/引用
分组:()
分支:|
引用:\数字
网友评论