使用正则多行模式与单行模式的图文详解

这次给大家带来使用正则多行模式单行模式的图文详解,使用正则多行模式与单行模式的注意事项有哪些,下面就是实战案例,一起来看一下。

在Expresso中,测试“多行模式”

测试一

使用正则多行模式与单行模式的图文详解

注意:这里样例文本中3eeeee后面没有回车,光标就在e的后面。匹配的结果是3eeeee,如上图的Search Results区中所示。

为什么这里不能匹配1abcde和2abc?

开启多行模式

^ 可以匹配字符串开头(字符串的开始位置),也可以匹配行的开头(即换行符之后的位置)
$ 可以匹配字符串结尾(字符串的结束位置), 也可以匹配行的结尾(即换行符之前的位置)

关闭多行模式

^ 只能匹配字符串开头
$ 只能匹配字符串结尾

知识点:为回车符, 为换行符。在windows中,我们平常说的换行,实质上是先回车,后换行;下面有更详细解说。

使用正则多行模式与单行模式的图文详解

如上图所示: 匹配 [CR]、 匹配[LF]   字符串多个段落,比如
ab
cd
e
在windows操作系统中其实是:ab[CR][LF]cd[CR][LF]e

在windows中,文本中的回车换行储存为: 0D 0A。也就是说,先储存的是“回车”,再储存的是“换行”
CR用符号”表示, ASCII代码是13, 十六进制为0x0D;
LF用符号”表示, ASCII代码是10, 十六进制为0x0A;

正则表达式:(?m)^(dw+)(s*)$

样例文本

使用正则多行模式与单行模式的图文详解

匹配结果

使用正则多行模式与单行模式的图文详解

在Expresso、PHP中,启用多行模式,”$” 匹配字符串结束位置或者 “” 之前的位置。

单行模式

开启单行模式: . 可以匹配任意字符(包括换行符)
关闭单行模式: . 只有匹配 非换行 的其它任意字符(.可匹配,即除了不匹配外的所有字符。)

多行模式 影响 ^ 和 $ 的匹配
单行模式 影响 . 的匹配

多行模式中必定包含 ^ 或 $ 或同时包含,否则即使加了 m,也没有任何意义

单行模式和多行模式是八杆子打不着的两个概念,只是因为正则发展的历史原因,造就了这样两个MS互斥的概念
单行模式影响的是小数点“.”的匹配范围
多行模式影响的是“^”和“$”的匹配范围

至于后面几个概念,全局匹配,多行模式和贪婪模式之间也没有什么必然联系

全局匹配关闭,只匹配首次成功匹配项,全局匹配开启,匹配所有成功匹配项
全局模式是一些脚本语言中才有的概念
在进行匹配时,关闭全局模式,类似于.NET中的Match方法,开启全局模式,类似于.NET中的Matches方法
在进行替换时,关闭全局模式,类似于Java中的replaceFirst,开启全局模式,类似于Java中的replaceAll

(在进行匹配时,关闭全局模式,类似于PHP中的preg_ match函数;开启全局模式,类似于PHP中的preg_ match_ all函数)

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

基于PHP正则零宽断言的使用详解

正则表达式的模糊匹配功能如何实现

以上就是使用正则多行模式与单行模式的图文详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2777964.html

(0)
上一篇 2025年3月8日 15:16:41
下一篇 2025年3月8日 15:16:50

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 15/18位身份证号码验证有哪些正则写法

    这次给大家带来15/18位身份证号码验证有哪些正则写法,15/18位身份证号码验证正则写法的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单、效率最高的…

    编程技术 2025年3月8日
    200
  • 常用的证件号码正则表达式写法有哪些

    这次给大家带来常用的证件号码正则表达式写法有哪些,写常用的证件号码正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的…

    编程技术 2025年3月8日
    200
  • 使用正则表达式在js里怎么查找字母与数字

    这次给大家带来使用正则表达式在js里怎么查找字母与数字,使用正则表达式在js里查找字母与数字的注意事项有哪些,下面就是实战案例,一起来看一下。 废话不多说,先看下js中使用正则查找字母和数字的方法,具体代码如下所示: window.onlo…

    编程技术 2025年3月8日
    200
  • 使用正则表达式提取字符串详解(附代码)

    这次给大家带来使用正则表达式提取字符串详解,使用正则表达式提取字符串的注意事项有哪些,下面就是实战案例,一起来看一下。 在JS的正则零宽断言匹配中,只支持前瞻匹配,不支持后瞻。这就尴尬了,因为在业务当中,我们大多时候是知道了要目标数据的前后…

    编程技术 2025年3月8日
    200
  • 如何使用正则来查找lookaround

    这次给大家带来如何使用正则来查找lookaround,使用正则来查找lookaround的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了正则表达式教程之前后查找lookaround。分享给大家供大家参考,具体如下: 注:在…

    编程技术 2025年3月8日
    200
  • JS里怎么用正则将字符串中的多个空格替换为一个空格

    这次给大家带来JS里怎么用正则将字符串中的多个空格替换为一个空格,JS里用正则将字符串中的多个空格替换为一个空格的注意事项有哪些,下面就是实战案例,一起来看一下。 javascript将字符串中的多个空格缩减为一个空格代码实例:在实际应用中…

    编程技术 2025年3月8日
    200
  • 正则的三种模式(贪婪型、勉强型、占有型)详解

    这次给大家带来正则的三种模式(贪婪型、勉强型、占有型)详解,使用正则三种模式(贪婪型、勉强型、占有型)的注意事项有哪些,下面就是实战案例,一起来看一下。 Greediness(贪婪型):最大匹配 X?、X*、X+、X{n,} 是最大匹配。例…

    编程技术 2025年3月8日
    200
  • 正则的惰性匹配模式(?)使用详解

    这次给大家带来正则的惰性匹配模式(?)使用详解,正则惰性匹配模式(?)使用的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式惰性匹配模式:在贪婪匹配模式一章节已经说过人性是贪婪的,希望获得更多的金钱、地位甚至美女,但是也有很多清…

    编程技术 2025年3月8日
    200
  • 正则全局匹配模式g修饰符的使用详解

    这次给大家带来正则全局匹配模式g修饰符的使用详解,使用正则全局匹配模式g修饰符的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式g修饰符: g修饰符用语规定正则表达式执行全局匹配,也就是在找到第一个匹配之后仍然会继续查找。 语法…

    编程技术 2025年3月8日
    200
  • JS里最基础的正则表达式使用详解

    这次给大家带来JS里最基础的正则表达式使用详解,在JS里使用基础正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式是一个很牛逼的东东,今天在这里只是简单的给刚刚接触JS的人普及一下,里面若有争议的地方欢迎大家留言! 1…

    2025年3月8日
    200

发表回复

登录后才能评论