正则表达式笔记之四

编程小白的自学笔记四(正则表达式模块search函数) 本文仅仅简单介绍了search的使用,供小白学习探讨。 阅读详情

在JavaScript中的每个正则表达式都是一个对象。这些对象有下面的一些属性。

 

1, 实例属性:RegExp的实例有一些开发人员可以使用的属性。

      global - Boolean值,表示g(全局选项)是否设置

      ignoreCase - Boolean值,表示i(忽略大小写选项)是否设置

      lastIndex - 整数,代表下次匹配将会从哪个字符位置开始(只有当使用exec()或test()函数才会填入,否则为0

      multiline - Boolean值,表示m(多行模式选项)是否设置

      source - 正则表达式的源字符串形式。例如表达式/[ba]*/的source将返回"[ba]*"

 

      在这些属性中,真正有用的是lastIndex,它可以告诉你正则表达式在某个字符串中停止之前,查找乐多元:

      var sToMatch = "bbq is short for barbecue";

      var regB = /b/g;

      regB.exec(sToMatch);

      alert(regB.lastIndex);              // output "1";

      regB.exec(sToMatch);

      alert(regB.lastIndex);              // output "2";

      regB.exec(sToMatch);

      alert(regB.lastIndex);              // output "18";

      regB.exec(sToMatch);

      alert(regB.lastIndex);              // output "21";

      如果想从头开始匹配,可以将lastIndex设为0.

 

2, 静态属性: 静态属性对所有的正则表达式都有效。这些属性都有两个名字: 一个复杂名字和一个以$开头的简短名字,如下:

       长名                          短名                            描述

       input                        $_                         最后用于匹配的字符串(传递给exec()或test()的字符串)

       lastMatch                 $&                         最后匹配的字符

       lastParen                 $+                         最后匹配的分组

       leftContext               $`                         在上次匹配的前面的子串

       multiline                   $*                          用于指定是否所有的表达式都使用多行模式的选项

       rightContext             $'                          在上次匹配之后的子串

       这些属性可以告诉你,关于刚使用的exec()或test()完成的匹配的一些特定信息。如:

       var sToMatch = "this has been a short, short summer";

       var regShort = /(s)hort)/g;

       regShort.test(sToMatch);

       alert(RegExp.input);                // output "this has been a short, short summer"

       alert(RegExp.leftContext);      // output "this has been a "

       alert(RegExp.rightContext);    // output ", short summer"

       alert(RegExp.lastMatch);         // output "short";

       alert(RegExp.lastParen);         // output "s"

       记住,每次执行exec()或test()时,所有的属性(除multiline)都会被重新设置。

      

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

正则表达式学习笔记(四)正则表达式引擎漫谈:NFA与DFA 截至上篇为止,我们学习了正则表达式的基本用法,包括捕获,引用,环视和量词匹配等。可以说,对于正则表达式的学习,我们已经到了一个不错的地步,但是就如博主博客上面所写的那样,“君子务本,本立而道生”,学习任何一个东西,都要想办法弄清楚最核心的部分,这样才能真正的学会,进而在使用中才能得心应手。 那么对正则表达式来说,它最核心的东西是什么呢?答案是引擎。正则表达式因为其漫长的历史而衍生出了不同的流派,... 阅读详情

相关推荐

注册表快捷方式(RegShortCut)v4.0绿色免费版

附件内有两个程序,分别是:注册表快捷方式(RegShortCut)和RegSuperLink注册表超级链接,它们的功能是类似的,都是帮助您快速打开指定的注册表位置 ,纯绿色免费软件,能够快速地定位到注册表编辑器中用户 指定的键值位置。用户可以将自己常用的键值数据添加到软件中,并 且可以轻易地对数据进行编辑和删除操作。  为了方便用户的使用,对于5大注册表根键名称,软件支持以下的简写名称作为它们的

Java学习笔记(四)——正则表达式

Java正则表达式

m0_62122789的博客 1340

基因组研究之单倍型T2T基因组(一)

单倍型T2T基因组(Haplotype-resolved T2T genome)是一种高精度、高连续性、高完整性的基因组组装技术,它能够提供从端粒到端粒的完整基因组序列,包括所有的基因和非编码序列。完整覆盖:T2T基因组覆盖从端粒到端粒的染色体序列,包含所有的基因和非编码序列,包括以往难以解析的端粒和着丝粒区域。单倍型解析:单倍型T2T基因组能够区分来自父母本的遗传信息,进行亚基因组不对称演化研究,挖掘单倍型等位基因间的表达差异,这对于重测序、性状定位、进化、基因功能、基因编辑等研究至关重要。

2401_89507557的博客 2438

Linux学习笔记(四):正则表达式

Linux的进阶使用,从正则表达式开始

YOU 2483

定制PYNQ的overlay

一、用HLS生成一个定制IP(加速器)(1)首先打开vivado hls,本人的版本是2017.2,点击创建一个新工程。(2)设置工程名和路径,顶层函数设置为add,创建一个新的C++程序,名字叫做adder.cpp,不用在testbench中添加文件。选择板子的时候搜索xc7z020clg400-1,这是PYNQ的板子号,选择完成。             (3)在左侧的菜单栏里选择Sourc...

bramblewalls的博客 1万+

Ubuntu20.04下Docker无缝升级实战指南

本文提供了一份在Ubuntu20.04系统上安全、无缝升级Docker的实战指南。文章详细阐述了升级前的版本检查、数据备份等准备工作,逐步演示了通过APT包管理器进行升级或指定版本安装的操作步骤,并强调了升级后的验证与常见问题回滚方案,确保业务容器平稳过渡。

postgres8guard的博客 481

前端学习笔记<四>——JavaScript正则表达式

JavaScript正则表达式 学习链接:JavaScript正则表达式 正则表达式是由一个字符序列形成的搜索模式。 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。 正则表达式可以是一个简单的字符,或一个更复杂的模式。 正则表达式可用于所有文本搜索和文本替换的操作。 方括号:查找某个范围内的字符 表达式 描述 [abc] 查找方括号之间的任何字符。 [^abc] 查找任何不在方括号之间的字符。 [0-9] 查找任何从 0 至 9 的数字。 [a-z] 查找任何从小写 a 到小写 z 的字

fanhl的博客 252

深入解析TMC2209 UART寄存器配置:从基础指令到高级参数调优

本文深入解析TMC2209 UART寄存器配置,从基础指令到高级参数调优,涵盖电流控制、微步细分等关键设置。通过实战案例和优化技巧,帮助开发者高效配置步进电机驱动,提升系统性能和稳定性。特别介绍了UART通信协议和CRC校验实现,确保数据传输可靠性。

tequila的博客 1159

正则表达式 学习笔记(四)

本来到三应该已经结束了 但是发现在实际的运用上面还是会遇到很多问题 还是有很多可以记录下来 所以开了第四篇 就当备忘 实际使用 信用卡验证: \D*(\d\D*){16} 去掉字符串中的所有空格: 1./\s/g 2./[ ]/g 去掉“↵”符号及空格: /[\s↵]/g ...

anzanli2393的博客 206

裂缝二维检测:裂缝的长度和宽度检测

这一节,我们需要去整合一下前面的代码,在进行长度和宽度的测量时,需要裂缝的类型、个数、面积的帮助。这一章是本专栏的核心部分。以上代码我均试过,由于本人能力有限,看不懂代码,最终还是没有采用,使用的是最普通检测宽度的方法,即求得骨架总长度后,用总面积求取平均宽度。

m0_62919535的博客 4241

嵌入式编程模型 | 原型模式

本文介绍了原型模式在嵌入式传感器网络中的应用。原型模式通过复制现有对象创建新实例,避免了重复初始化开销,适用于设备配置克隆、状态复制等场景。文章以传感器网络为例,展示了原型模式的结构(抽象原型类、具体原型类、客户端)和实现方式,通过C语言代码演示了温度/湿度传感器的克隆过程。该模式能有效提升嵌入式系统资源复用效率,实现快速部署相似配置的传感器节点,同时保持内存优化和配置灵活性。

嵌入式大杂烩 146

学习笔记四(XML、正则表达式)

正则表达式简述: 正则表达式都写在一对//里; ^ 表示开头 $ 表示结尾 []里面是内容 {}里面是个数 如: 用户名: / ^ [a-z0-9_-]{3,16}$/ 密码: / ^ [a-z0-9_-]{6,18} $ / 邮箱:/ ^([a-z0-9_\ .-]+)@([\da-z \ .-]+)\ .([a-z.]{2,6})$/ 一些特殊含义的字符: . 有特殊含义,使用时需要进行转义...

ssnszds的博客 628

C#串口通信从入门到精通(27)——高速通信下解决数据处理慢的问题(20ms以内)

本文介绍如何在高速通信情况下解决串口接收的数据来不及处理的问题,由高级工程师多年经验总结而成,绝对是串口领域的实战经验!

qq_34059233的博客 6810

java学习笔记四:正则表达式

今天接触了正则表达式,我们在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就可以很好地描述这些规则。换句话说,正则表达式就是记录文本规则的代码。 现在用一个实例来说明正则表达式的威力. <!DOCTYPE html> &lt...

choumoyin5005的博客 197

【QT开发】web开发,内嵌网页展示和交互工具QWebEngineView类详解及实战应用

QWebEngineView 类为 Qt 应用提供了强大的网页展示和交互能力。通过合理运用其方法、属性和事件,能够创建出功能丰富、用户体验良好的网页浏览界面。在开发过程中,要注意处理常见问题,以确保网页的正常展示和交互效果。

科技改变人类,技术成就未来 2004

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JavaAPI笔记(四)——正则表达式相关类

摘要 正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 一、正则匹配语法 二、Pattern类 三、Matcher类 四、PatternSyntaxException类 五、正则匹配样例 ...

简简单单记录 197

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

正则表达式学习笔记(四)

正则表达式经过前面的学习,已经有了个基本的认识,这里还有关于平衡组和递归匹配的相关知识没有提到,以后再补充学习,暂时这些。这四篇学习笔记是看了《正则表达式30分钟入门教程》实验得来的,原文的地址:http://www.oschina.net/question/12_9507,感谢原文作者。这篇文章写得很好,我这篇学习笔记,也是对这篇文章的理解,不同的是...

weixin_33827590的博客 75

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python学习笔记(四)正则表达式

python学习笔记(四) 正则表达式 用正则表达式要引入re模块  import re 元字符   . ^  $  *  +  ?  {}  []  \  |  ()  [ ] 常用来指定一个字符集:[abc] ;  [a-z];[a-zA-Z0-9] 元字符在字符集中不起作用:[akm$] 取不在区间范围的字符:[^abc] import

billvsme的专栏 1513

nginx配置实践笔记正则表达式相关<四>

系列文章目录 三、 nginx配置实践笔记<三> 二、nginx配置实践笔记<二> 文章目录系列文章目录一、基本认识1.1 匹配操作符1.2 常用正则二、常用案例2.1 示例如下(针对浏览器)2.2 示例如下(针对文件和文件夹)2.3 示例如下(全局变量)总结实用(动态处理vue路由) 一、基本认识 1.1 匹配操作符 ~ 区分大小写(大小写敏感)匹配成功 ~* 不区分大小写匹配成功 !~ 区分大小写匹配失败 !~* 不区分大小写匹配失败 ^ 以什么开头的匹配 $ 以什么结尾的匹配 * 代

CEVERY的博客 346

javascript学习笔记(四)--正则表达式

目录正则表达式简介修饰符和模式search使用正则表达式replace使用正则表达式附:正则表达式表单验证实例: 正则表达式简介 正则表达式是由一个字符序列形成的搜索模式。 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。 正则表达式可以是一个简单的字符,或一个更复杂的模式。 正则表达式可用于所有文本搜索和文本替换的操作。 语法: /正则表达式主题/修饰符(可选) 如: /hello/i 修饰符和模式 修饰符:可以在全局搜索中不区分大小写: i -- 执行对大小写不敏感的匹配 g --

qq_44753552的博客 136

阿猛学习笔记java四Scanner,System,正则表达式

七Scanner,System1011 1.Scanner 常用构造方法 Scanner(System.in) Scanner(String s) 进行预输入,字符串可进行解析 常用方法 String/int… next()/nextInt()… Scanner useDelimiter(String pattern) 对预输入的字符设置分隔标记,默认为空格 boolean hasNext() 根据分隔符逐个扫描预输入内容并进行判断 ​ 使用对应的next方法接收 2.System 常用方

qq_40298829的博客 306

爬虫学习笔记(四)正则表达式

上一篇博客写了怎么发请求和获取到数据,接下来就是该怎么处理数据了,打开一个网站之后,它会返回很多数据,数据很多,有很多都是咱们不需要的,咱们写爬虫的话只获取到对咱们自己有用的数据,就要从返回的数据里面找到咱们需要的数据,然后保存起来。那怎么筛选到咱们需要的数据呢,就得用正则表达式了,正则表达就是写各种规则来匹配咱们想要的数据。   字符串是我们在编程的时候很常用的一种数据类型,检查会在字...

CHK的博客 183

jieba源碼研讀筆記(四) - 正則表達式

jieba包含的三大功能:分詞、詞性標注及關鍵詞提取都需要用到正則表達式。 筆者將jieba/__init__.py,jieba/finalseg/__init__.py及jieba/posseg/__init__.py三個檔案裡出現的正則表達式集中在本篇介紹。 先介紹下筆者在學習正則表達式時用到的工具: regex101:可以使用這個線上工具來測試regex的效果。 以及Python正則表達式的教學: Python - Regular Expressions 還有一篇中文的: 正则表达式的功法大全,做N

keineahnung2345的博客 766

Python学习笔记(四):正则表达式

虽然Python字符串提供了众多实用的函数,但实际处理字符串时,常常需要使用更加强大的工具。有鉴于此,程序员开发了一种用于复杂字符串处理的微型语言——正则表达式。简单的正则表达式一些正则表达式运算符运算符 描述的字符串xy?x,xyx|yx,yx*'',x,xx,xxx,xxxx等x+x,xx,xxx,xxxx等“?”:表示它左面那个字符是可选的。“|”:表示或者。“x*”:表示有0个或更多个x组...

yuexingyu的博客 397
上一篇: Html中Document和Event里各种坐标的定义
下一篇: Http Handler 介绍
unicode
博客等级 码龄25年 33粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值