什么是正则正则表达式是对字符串操作的一种逻辑公式 , 就是用事先定义好的一些特定字符、及这些特定字符的组合 , 组成一个“规则字符串” , 这个“规则字符串”用来表达对字符串的一种过滤逻辑 。
由于正则表达式主要应用对象是文本 , 因此它在各种文本编辑器场合都有应用 , 小到著名编辑器EditPlus , 大到Microsoft Word、Visual Studio等大型编辑器 , 都可以使用正则表达式来处理文本内容 。
构造函数方式
var reg= new RegExp("study");var reg=new RegExp("study","ig");常量方式
var reg=/study/ 等价于var reg= new RegExp("study");属性
global RegExp对象是否具有标志 g 。全局
ignoreCase RegExp对象是否具有标志 i 。忽略大小写
source 正则表达式的源文本 。
Multiline RegExp 对象是否具有标志 m 。不只匹配一行 。
***
exec(字符串) 检索字符串中指定的值 。返回找到的值 , 如果没有匹配到 , 则返回null 。
test (字符串) 检索字符串中指定的值 。返回 true 或 false 。
使用正则的 ***
文章插图
简单的正则示例
特殊字符^ 匹配一行的开头 , /^a/匹配"abc" , 而不匹配“bca“
$ 匹配一行的结尾 , /a$/匹配“bca" , 而不匹配"abc"
【正则匹配任意字符和空格符号 正则匹配任意字符和空格】. 匹配单个字符 , 除了换行和行结束符 , 等价于[^\n]
* 匹配前面元字符0次或多次 , /ba*/将匹配b,ba,baa,baaa
+ 匹配前面元字符1次或多次 , /ba+/将匹配ba,baa,baaa
? 匹配前面元字符0次或1次 , /ba?/将匹配b,ba
x|y 匹配x或y ,/a|b/ 将匹配只要出现a或者b的字符串 , 不含a与b的不匹配
{n} 精确匹配n次 , /d{4}/ 将匹配 , 出现连续4个d的字符串
{n,} 匹配n次以上 , /d{4,}/将匹配 , 出现连续4个及其以上多个d的字符串
{n,m} 匹配n-m次 , /d{4,6}/将匹配 , 出现连续4到6个d的字符串
[xyz] 匹配这个 *** 中的任一一个字符 , 如:[a-z] 表示小写a到小写z范围的字符 。
[^xyz] 不匹配这个 *** 的任何一个字符 , 同样可以写范围 , 如:[^a-z]
(red|blue|green) 将一些正则匹配规则合成一个小组 。
\d 匹配一个数字字符 , /\d/ 等价于 /[0-9]/
\D 匹配一个非数字字符 , /\D/ 等价于 /[^0-9]/
\w 匹配一个可以组成单词(变量)的字符(包括字母 , 数字 , 下划线)等价于[a-zA-Z0-9_]
\W 匹配一个不可以组成单词的字符
\n 匹配一个换行符 \f 匹配换页符 。
\r 匹配一个回车符 \t 匹配一个制表符
\v 匹配一个重直制表符
\s 匹配一个空白字符 , 包括\n,\r,\f,\t,\v等
\S 匹配一个非空白字符 , 等于/[^\n\f\r\t\v]/
\b 匹配一个单词的边界 (单词是以空格分割的)
\B 匹配一个单词的非边界
\0 匹配NUL 字符 。
\ddd 匹配以八进制数 ddd 规定的字符 。Ru:var reg = /\141/; 等价于 var reg = /a/;
\xdd 匹配以十六进制数 dd 规定的字符 。
\uxxxx 匹配以十六进制数 xxxx 规定的 Unicode 字符 。
直接量字符(转义字符)\f 换页符 \n 换行符 \r 回车
\t 制表符 \v 垂直制表符
\/ 一个 / 直接量 \\ 一个 \ 直接量
\. 一个 . 直接量 \* 一个 * 直接量
\+ 一个 + 直接量 \? 一个 ? 直接量
\| 一个 | 直接量 \( 一个 ( 直接量
\) 一个 ) 直接量 \[ 一个 [ 直接量
\] 一个 ] 直接量 \{ 一个 { 直接量
\} 一个 } 直接量 \- 一个-直接量
量词c{n} 匹配包含 n 个 c 的序列的字符串 。
c{m,n} 匹配包含 m 到 n 个 c 的序列的字符串 。
c{n,} 匹配包含至少 n 个 c 的序列的字符串 。
c+ 匹配任何包含至少一个 c 的字符串 , 等价于c{1,}。
c* 匹配任何包含零个或多个 c 的字符串 , 等价于c{0,}
c? 匹配任何包含零个或一个 c 的字符串 , 等价于 c{0, 1}
c$ 匹配任何结尾为 c 的字符串 。
^c 匹配任何开头为 c 的字符串 。
?=c 匹配任何其后紧接指定字符串 c 的字符串 。
对其后紧跟 "all" 的 "is" 进行全局搜索.
var str="Is this all there is"; var patt1=/is(?= all)/g;
?!c 匹配任何其后没有紧接指定字符串 c 的字符串 。
秒懂生活扩展阅读
- 直通车智能匹配怎么关?直通车智能匹配展现规则
- 狮子和摩羯座匹配程度是多少,摩羯男容易爱上狮子女
- 微信用户名与姓名不匹配怎么办
- soul语音匹配怎么没了
- 射手和摩羯座匹配程度是多少,射手和摩羯谁吸引谁
- oppor9s怎么复制粘贴
- 手机录屏在哪里
- 任意三角形已知两边求另一边
- cetv4频道怎么找
- 直通车需要精准匹配吗?怎么修改直通车精准匹配?