当前位置: 首页 > news >正文

new RegExp的使用

1.RegExp是什么

当检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式

RegExp 对象用于存储检索模式。

var patt1=new RegExp("e");

当使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 “e”

  1. g :表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止;
  2. i :表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写;
  3. m :表示多行(multiline)模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项

** 规则:没有正则含义的元字符都必须转义。正则表达式中的元字符包括: ( [ { \ ^ $ | ) ? * + .]}**

2.RegExp 对象有 3 个方法:test()、exec() 以及 compile()

1.test()

test() 方法检索字符串中的指定值。返回值是 true 或 false;

var patt1=new RegExp("e");document.write(patt1.test("The best things in life are free")); 

由于该字符串中存在字母 “e”,以上代码的输出将是:true;

2.exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null;

由于该字符串中存在字母 “e”,以上代码的输出将是:e

  1. 在exec()方法中,可以向 RegExp 对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 “g” 参数 (“global”);
  2. 在使用 “g” 参数时,exec() 的工作原理如下:
  3. 1> 找到第一个 “e”,并存储其位置;
    2> 如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 “e”,并存储其位置;
var patt1=new RegExp("e","g");
do
{
result=patt1.exec("The best things in life are free");
document.write(result);
}
while (result!=null) 

由于这个字符串中 6 个 “e” 字母,代码的输出将是:eeeeeenull

3.compile()

compile() 方法用于改变 RegExp。compile() 既可以改变检索模式,也可以添加或删除第二个参数;

var patt1=new RegExp("e");document.write(patt1.test("The best things in life are free"));patt1.compile("d");document.write(patt1.test("The best things in life are free"));

由于字符串中存在 “e”,而没有 “d”,以上代码的输出是:true false

http://www.lryc.cn/news/5198.html

相关文章:

  • 供应商管理软件如何选型 好用的供应商管理软件推荐
  • Python3遍历文件夹提取关键字及其附近字符
  • 「1」线性代数(期末复习)
  • C++7:STL-模拟实现vector
  • 笑死,面试官又问我SpringBoot自动配置原理
  • 分布式缓存服务DCS-企业版性能更强,稳定性更高
  • HTTP基本原理
  • 【云原生】Kubernetes(k8s)最新版本详细保姆级安装教程
  • JVM - 类加载,连接和初始化
  • [carla]关于odometry坐标中的角度坐标系 以及 到地图的映射问题
  • Python 正则表达式
  • spark03-读取文件数据分区数量个数原理
  • 操作系统(day08)内存
  • 11- 聚类算法 (KMeans/DBSCAN/agg) (机器学习)
  • 日日顺供应链|想要看清供应链发展趋势,先回答这三个问题
  • 5守护进程与线程
  • EZ-Cube简易款下载器烧写使用方法
  • sql server安装并SSMS连接
  • Python_pytorch (二)
  • java手机短信验证,并存入redis中,验证码时效5分钟
  • kubectl命令控制远程k8s集群(Windows系统、Ubuntu系统、Centos系统)
  • 【求解器-COPT】COPT的版本更新中,老版本不能覆盖的问题
  • Vue3.0文档整理:一、简介
  • vue2 diff算法及虚拟DOM
  • Ray和极客们的创新之作,2月18日来发现
  • Dubbo 源码分析 – 集群容错之 Router
  • 行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测)
  • 【图像分类】基于PyTorch搭建LSTM实现MNIST手写数字体识别(单向LSTM,附完整代码和数据集)
  • Kotlin 1.8.0 现已发布,有那些新特性?
  • likeshop单商户SaaS商城系统—无限多开,搭建多个商城