博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式
阅读量:5331 次
发布时间:2019-06-14

本文共 1342 字,大约阅读时间需要 4 分钟。

正则:检测字符串的一条规则。

Json的本质 还是字符串

正则的定义 简写 /规则/ 比如/45612/ 检测字符串必须得有45612

字符串和正则有关的方法

  1. Match() 查找找到一个或多个正则表达式的匹配,有就返回查找的结果,没有就返回null

语法:string.match(reg)

  1. search() 查找与正则表达式相匹配的值 检索不到返回-1,检索到返回的字符首次在字符串中的位置

语法:string.search(reg)

3.replace() 在字符串中查找匹配的字串,并替换与正则表达式匹配的字串,如果检索到 返回替换后的新字符串,如果没有检索到 返回原字符串

语法:string.replace(reg.newstring)

注意的

1字符串中,在正则中如果就代表一个,需要转义\.

/./ 代表任意一个字符  /\./ 代表一个点

正则对象的两个方法

Text() 检索字符串中指定的值。返回truefalse

语法 reg.text(string)

Exec() 检索字符串中指定的值。返回是一个数组,有找到的值并确定其位置找不到返回null

语法:reg.exec(string)

正则的性质

  1. 正则的懒惰性

正则在捕获的时候,当第一次捕获成功了,就直接返回,不再向下捕获,这就叫正则的懒惰性。

解决正则的懒惰性

在正则的后面加上修饰符/g

  1. 正则的贪婪性

/\d+/去捕获一个字符串中的数字 他会尽可能多的捕获全部符合条件的,这叫正则的贪婪性

解决正则的贪婪性 /\d+/ +代表1个或多个数字 ?代表0个或一个

+后面跟一个? /\d+?/

字符串检索 分两种结果

第一种是查找型 查找到就终止 ,不会向下再次查找

第二种是捕获型 分两种

第一是捕获首次出现的

第二种是捕获所有的 /g

分组捕获()这是分组捕获的标志 将大正则分组成几个小正则 在正则中\1代表第一个分组  \2代表第二个分组。

比如  /(a)(b)\1\2/ 代表的abab这个规则

在分组捕获中

结果即返回了大正则的捕获结果也返回了小正则的捕获结果

如果不想捕获一个分组中的内容 在对应的分组中的前面加上?:就可以了同时分组引用(\1\2)也失效了

一旦分组捕获成功,在正则的类上会给 $1 $2 等赋值,RegExp.$1 也是分组引用 在正则外起作用

\1 也是分组引用 只能在正则中起作用

 

php的正则方法

Preg_match() 执行一个正则表达式匹配

参数 1 reg 参数2string 返回值是01查到就是1查不到就是0

Preg_match_all() 执行一个全局正则表达式匹配

参数1reg 参数2string返回值是0nn是查找到的总次数0是没查到。

Preg_replace() 执行一个正则表达式的搜索和替换

参数1reg 参数2newstring参数3是检索string返回值是替换后的新的字符串

第三个参数还可以是数组 返回值也是数组

Preg_split() 通过一个正则表达式分隔字符串

参数1reg参数2string

 

转载于:https://www.cnblogs.com/yuanyeds/p/11392268.html

你可能感兴趣的文章
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
深入理解jQuery框架-框架结构
查看>>
YUI3自动加载树实现
查看>>
python知识思维导图
查看>>
当心JavaScript奇葩的逗号表达式
查看>>
App Store最新审核指南(2015年3月更新版)
查看>>
织梦MIP文章内容页图片适配百度MIP规范
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
C语言学习总结(三) 复杂类型
查看>>
HNOI2018
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>
省市县,循环组装,整合大数组
查看>>
stm32中字节对齐问题(__align(n),__packed用法)
查看>>
like tp
查看>>