美文网首页
正则表达式基础规则

正则表达式基础规则

作者: Tangbh | 来源:发表于2017-03-13 13:11 被阅读8次

元字符

说明

.

匹配除换行符意外的任意字符

\w

匹配字母或数字或下划线

\s

匹配任意的空白符

\d

匹配数字

\b

匹配单词的开始或结束

^

匹配字符串的开始

$

匹配字符串的结束

[x]

匹配x字符,如匹配字符串中的 a、b 和 c 字符

\W

\w的反义,即匹配任意非字母,数字,下划线和汉字的字符

\S

\s的反义,即匹配任意非空白符的字符

\D

\d的反义,即匹配任意非数字的字符

\B

\b的反义,即不是单词开头或结束的位置

[^x]

匹配除了 x 意外的任意字符,如 [^abc] 匹配除了 abc 这几个字母之外的任意字符

重复

说明

*

重复零次或更多次

+

重复 1 次或更多次

?

重复零次或 1 次

{n}

重复 n 次

{n,}

重复 n 次或更多次

{n,m}

重复 n 到 m 次

贪婪与懒惰

正则表达式默认的情况下,会在满足匹配条件下尽可能的匹配更多内容。如a.*b,用他来匹配 aabab ,它会匹配整个 aabab ,而不会只匹配到 aab 为止,这就是贪婪匹配。

与贪婪匹配对应的是,在满足匹配条件的情况下尽可能的匹配更少的内容,这就是懒惰匹配。

上述例子对应的懒惰匹配规则为:

a.*?b

如果用该表达式去匹配aabab ,那么就会得到 aab 和 ab 这样两个匹配结果。

常用的懒惰限定符如下:

懒惰限定符

说明

*?

重复任意次,但尽可能少重复

+?

重复 1 次或更多次,但尽可能少重复

??

重复 0 次或 1 次,但尽可能少重复

{n,}

重复 n 次以上,但尽可能少重复

{n,m}

重复 n 到 m 次,但尽可能少重复

模式修正符

模式修正符是标记在整个正则表达式之外的,可以看着是对正则表达式的一些补充说明。

常用的模式修正符如下:

模式修正符

说明

i

模式中的字符将同时匹配大小写字母

m

字符串视为多行

s

将字符串视为单行,换行符作为普通字符

x

将模式中的空白忽略

e

preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。

A

强制仅从目标字符串的开头开始匹配

D

模式中的 $ 元字符仅匹配目标字符串的结尾

U

匹配最近的字符串

u

模式字符串被当成 UTF-8

1

相关文章

  • 7.2 数据处理 : 数据的去重

    知识基础 Pandas包基础:pd.read_csv 正则表达式基础 在数据获取过程中由于网络延迟或者数据抓取规则...

  • 正则表达式

    正则表达式用来检索,替换符合某个规则的文本 正则表达式的方法 正则的匹配规则:

  • Python学习笔记十五(正则表达式)

    正则表达式 什么是正则表达式 正则表达式,又称规则表达式。通常被用来检索、替换那些符合某个规则的文本。 Pytho...

  • 正则表达式

    正则表达式的规则基本是通用的 JS里面正则表达式的写法 var re = new RegExp('规则', '可选...

  • 初始正则

    正则表达式:正则表达式其实就是用于操作字符串的一个规则,正则表达式的规则使用了特殊的符号表示。

  • python正则表达式学习

    一、正则表达式的语法规则 下面是python中正则表达式的一些匹配规则,图片来自CSDN。 二、正则表达式相关注解...

  • 正则表达式

    正则表达式 正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串...

  • 10. python3中的正则表达式

    何所谓正则表达式?个人理解就是文本搜索的一种规则。那么正则表达式就需要解决下面的问题 规则如何表示 规则如何使用 ...

  • Python正则表达式(一)

    前言 正则表达式(Regular Expression),就是具有一定规则的表达式。通过正则表达式引擎,将这些规则...

  • 正则表达式基础规则

    元字符 说明 . 匹配除换行符意外的任意字符 \w 匹配字母或数字或下划线 \s 匹配任意的空白符 \d 匹配数字...

网友评论

      本文标题:正则表达式基础规则

      本文链接:https://www.haomeiwen.com/subject/cqbfnttx.html