首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正则表达式学习笔记(初级篇)

. * 匹配零个或更多个,即0~n 4. + 匹配一个或更多个,即至少一个,1~n 5. \ 转义 一个特殊字符前加\就表示转义,说明把它当普通字符用 6. [] 单字符取一个,比如[abc]会匹配a或...^跟[]里面用的^是同一个字符,但是却不是一个意思,这里它表示整个字符串的开始,比如^www表示以www开头的字符串,注意区分,不在[]里面的是开始符,在里面的排除 8. $ 字符串结束 9. {1,3...(1) \1 是在正则表达式本身中引用分组1的内容,如: 我们要匹配111这样的连续出现3此的数字,我们可以写出正则:(\d)\1\1,(\d)匹配到第一个1,后面再引用这个匹配内容,得到111。...在PHP中,分隔符可以使任意非字母数字、非反斜线、非空白字符。这个概念很关键,它能帮助我们简化一些正则的书写,避免错误,如: /.*?/ 这个正则是错误的。...在PHP中,模式修饰符有两种用法,一种是上面的,在分隔符后面的模式修饰符,它的作用范围是全局;另一种是在正则表达式中间的。 例如: 1. 正则:/((?i)[A-Z]+)c/ 2.

57921

正则表达式的基本介绍与正则大全

1 语法 一个正则表达式是一种从左到右匹配主体字符串的模式,它可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等。...示例1 e+ 示例2 匹配以 e 开头,以 u 结尾的内容 e.+u 1.2.3.3 问号 ? ?匹配?之前的字符出现0或者1次,即表示前面的字符是可选的。 示例 ou?...示例1 ^Regular 示例2 Expression$ 1.3 简写字符集 简写 描述 \w 匹配所有字母数字,等同 [a-zA-Z0-9_] \W 匹配所有非字母数字,等同 [^\w] \d 匹配数字...,等同 [0-9] \D 匹配非数字,等同 [^\d] \s 匹配所有空格字符,等同 [\t\n\f\r\p{Z}] \S 匹配所有非空格字符: [^\s] \f 匹配一个换页符 \n 匹配一个换行符...4.3 GoRegex 地址:goregex.cn 提供PHP、PCRE、Python、Go、JavaScript等语言的正则表达式在线测试、生成,解析工具服务。

69010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    正则表达式的基本介绍与正则大全

    1 语法 一个正则表达式是一种从左到右匹配主体字符串的模式,它可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等。...示例1 e+ 示例2 匹配以 e 开头,以 u 结尾的内容 e.+u 1.2.3.3 问号 ? ?匹配?之前的字符出现0或者1次,即表示前面的字符是可选的。 示例 ou?...示例1 ^Regular 示例2 Expression$ 1.3 简写字符集 简写 描述 \w 匹配所有字母数字,等同 [a-zA-Z0-9_] \W 匹配所有非字母数字,等同 [^\w] \d 匹配数字...,等同 [0-9] \D 匹配非数字,等同 [^\d] \s 匹配所有空格字符,等同 [\t\n\f\r\p{Z}] \S 匹配所有非空格字符: [^\s] \f 匹配一个换页符 \n 匹配一个换行符...4.3 GoRegex 地址:goregex.cn 提供PHP、PCRE、Python、Go、JavaScript等语言的正则表达式在线测试、生成,解析工具服务。

    88310

    正则表达式学习笔记-高级篇

    B) 源串:AAAC 结果:AAA 而示例五体现了:环视它匹配过的地方,下次还能用它继续匹配 因为,整个匹配过程中,正则表达式一共走了3次字符串匹配,第一次匹配不全部是字母,第二次匹配不全部是数字,...第三次匹配全部是字母数字组合,6-16个字符。...在PHP中,模式修饰符有两种用法,一种是上面的,在分隔符后面的模式修饰符,它的作用范围是全局;另一种是在正则表达式中间的。 例如: 1. 正则:/((?i)[A-Z]+)c/ 2....i)的作用范围在分组1内 如果把正则改成:/([A-Z]+)c/i,则匹配结果将是:abcABC 示例地址:PHP正则表达式中间的模式修饰符 关于PHP模式修饰符的讲解,请查看PHP手册中的《PHP模式修饰符...需求:提取链接和标题,还有a标签的文字 看到这个源数据和需求,我们必须定位好锚点,主要有: 1.

    87421

    正则表达式的梳理和练习笔记

    这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。 这里的所有符号要排除一些特殊符号 非打印字符 非打印字符也可以是正则表达式的组成部分。...下表列出了正则表达式中的特殊字符: 特别字符 描述 ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。...相当于“以xxx结尾” \b 匹配一个单词边界,即字与空格间的位置。相当于以xxx(开始?结束)的单词 \B 非单词边界匹配。 相当于不是单词(开始?结束)位置的xxx \d 匹配一个数字字符。...最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。...---- 整理一下如果转换成语义化编程的方式 ( 由于我个人记性不行,所以打算后面写个语义化生成正则的小函数 ) # PHP语法 ( 也可以扩展到JS中 用JSON方式递归生成 ) '^' : beginWith

    51230

    c#正则表达式定义「建议收藏」

    列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。   ...3.1 普通字符   由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号。   ...3.3 特殊字符   所谓特殊字符,就是一些有特殊含义的字符,如上面说的”*.txt”中的*,简单的说就是表示任何字符串的意思。如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\。...要匹配 * 字符,请使用 \*。 + 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 . 匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。 [ 标记一个中括号表达式的开始。...^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 { 标记限定符表达式的开始。要匹配 {,请使用 \{。

    55840

    正则表达式学习

    例如,表达式 a* 匹配0或更多个以a开头的字符。表达式[a-z]* 匹配一个行中所有以小写字母开头的字符串。...,那么表达式 ab* 将匹配连续出现 0 或更多个 b 。再比如之前说的 {} 是用来表示前面一个字符出现指定次数。但如果在 {} 前加上特征标群 (...) 则表示整个标群内的字符重复 N 次。...在线练习 2.8 锚点 在正则表达式中,想要匹配指定开头或结尾的字符串就要使用到锚点。^ 指定开头,$ 指定结尾。 2.8.1 ^ 号 ^ 用来检查匹配的字符串是否在所匹配字符串的开头。...除换行符外的所有字符 \w 匹配所有字母数字,等同于 [a-zA-Z0-9_] \W 匹配所有非字母数字,即符号,等同于: [^\w] \d 匹配数字: [0-9] \D 匹配非数字: [^\d] \s...例如,我们希望从下面的输入字符串 4.44 和 10.88 中获得所有以 字符开头的数字,我们将使用以下的正则表达式 (?<=\ 零宽度断言如下: 符号 描述 ?= 正先行断言-存在 ?!

    1.7K20

    JavaScript 正则表达式全面总结

    正则表达式是用于匹配字符串中字符组合的模式。正则表达式的模式规则是由一个字符序列组成的。包括所有字母和数字在内,大多数的字符都是直接按照直接量描述待匹配的字符。...直接量字符 正则表达式中所有字母和数字都是按照字面含义进行匹配的,其他非字母的字符需要通过反斜杠(\)作为前缀进行转移,如 \n 匹配换行符。...引用 带圆括号的表达式的另一个用途是允许在同一个正则表达式的后面引用前面的子表达式。通过\后面加数字实现。\n 表示第 n 个带圆括号的子表达式。表示引用前一个表达式所匹配的文本。...:b)(c)/ 中 \1 将表示 (c) 所匹配的文本。 指定匹配位置(锚元素) 有一些正则表达式的元素不用来匹配实际的字符,而是匹配指定的位置。我们称这些元素为正则表达式的锚。...正则表达式中的锚字符包括: ^ 用来匹配字符串的开始,多行检索时匹配一行的开头。 $ 用来匹配字符串的结束,多行检索时匹配一行的结尾。

    98140

    1小时真正掌握正则表达式

    例如, 表达式 a* 匹配以0或更多个a开头的字符, 因为有0个这个条件, 其实也就匹配了所有的字符. 表达式[a-z]* 匹配一个行中所有以小写字母开头的字符串....+t 匹配以首字母c开头以t结尾,中间跟着任意个字符的字符串. "c.+t" => The fat cat sat on the mat. 2.3.3 ? 号 在正则表达式中元字符 ? ...=> The fat cat sat on the mat. 2.8 锚点 在正则表达式中, 想要匹配指定开头或结尾的字符串就要使用到锚点. ^ 指定开头, $ 指定结尾. 2.8.1 ^ 号 ^ 用来检查匹配的字符串是否在所匹配字符串的开头...但如果使用 ^b 将匹配不到任何结果. 因为在字符串 abc 中并不是以 b开头. 例如, ^(T|t)he 匹配以 The 或 the 开头的字符串....除换行符外的所有字符 \w 匹配所有字母数字, 等同于 [a-zA-Z0-9_] \W 匹配所有非字母数字, 即符号, 等同于: [^\w] \d 匹配数字: [0-9] \D 匹配非数字: [^\d]

    1.1K20

    正则表达式详解

    列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。   ...3.2 字符类[ ] 可以使用字符类指定字符列表以匹配正则表达式中的一个位置。使用方括号([ 和 ])定义字符类。...下面的字符类匹配除小写字母 (a-z) 或数字以外的任何字符: /[^a-z0-9]/ 必须在字符类的“开头”键入尖号 (^) 字符以表示反转。...,在匹配过程中,对于.*正则,一有匹配立即执行,而不是等.*消费了所有字符再一一回退。 PHP正则表达式模式后面通常带有 /i, /is, /s, /isU等参数,那么这都是些什么东西呢?...正则表达式中可以使用 ASCII 编码。. \num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。

    1.4K10

    第五章 正则表达式的拆分

    而在正则表达式中,操作符都体现在结构中,即由特殊字符和普通字符所代表的一个个特殊整体。 JS正则表达式中,都有哪些结构呢? 字符字面量、字符组、量词、锚字符、分组、选择分支、反向引用。...另外还有反义字符组,表示可以是除了特定字符之外任何一个字符,比如 [^0-9],表示一个非数字字符,也有 \D的简写形式。 量词,表示一个字符连续出现,比如 a{1,3}表示“a”字符连续出现3次。...另外还有常见的简写形式,比如 a+表示“a”字符连续出现至少一次。 锚点,匹配一个位置,而不是字符。比如^匹配字符串的开头,又比如 \b匹配单词边界,又比如 (?=\d)表示数字前面的位置。...\d{15}表示15位连续数字。 \d{17}[\dxX]表示17位连续数字,最后一位可以是数字可以大小写字母"x"。 可视化如下: ?...上面的两个 (...)是一样的结构。表示匹配的是3位数字。因此整个结构是 3位数.3位数.3位数.3位数 然后再来分析 (...): (0{0,2}\d|0?

    1.4K70

    JavaScript(RegExp正则匹配)

    正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意思进行匹配的字符.这样说来,正则表达式/java/就和 所有包含子串 "java" 的字符串相匹配.虽然正则表达式中的其它字符不是按照字面意思进行匹配的...1.直接量字符  我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的正则表达式还通过以反斜杠(\)开头的转义序列支持某些非字母字符.例如,序列 "\...代括号的子表达式的另一个用途是,允许我们在同一正则表达式的后面引用前面的子表达式.这是通过在字符串 \ 后加一位或多位数字来实现的.数字指的是代括号的子表达式在正则表达式中的位置.例如: \1 引用的是第一个代括号的子表达式...例如:在下面的正则表达式被指定为 \2: /([Jj]ava([Ss]cript)) \sis \s (fun\w*) / 对正则表达式中前一子表达式的引用所指定的并不是那个子表达式的模式,而是与那个模式相匹配的文本....这样,引用就不只是帮助你输入正则表达式的重复部分的快捷方式了,它还实施了一条规约,那就是一个字符串各个分离的部分包含的是完全相同的字符.例如:下面的正则表达式匹配的就是位于单引号或双引号之内的所有字符

    4.3K50

    【正则】578- 1小时真正掌握正则表达式

    例如, 表达式 a* 匹配以0或更多个a开头的字符, 因为有0个这个条件, 其实也就匹配了所有的字符. 表达式[a-z]* 匹配一个行中所有以小写字母开头的字符串....+t 匹配以首字母c开头以t结尾,中间跟着任意个字符的字符串. "c.+t" => The fat cat sat on the mat. 2.3.3 ? 号 在正则表达式中元字符 ?...=> The fat cat sat on the mat. 2.8 锚点 在正则表达式中, 想要匹配指定开头或结尾的字符串就要使用到锚点. ^ 指定开头, $ 指定结尾. 2.8.1 ^ 号 ^ 用来检查匹配的字符串是否在所匹配字符串的开头...但如果使用 ^b 将匹配不到任何结果. 因为在字符串 abc 中并不是以 b开头. 例如, ^(T|t)he 匹配以 The 或 the 开头的字符串....用于筛选所有匹配结果, 筛选条件为 其前不跟随着断言中定义的格式. 例如, 表达式 (?匹配 cat, 且其前不跟着 The 或 the. "(?<!

    1K10

    第五章 正则表达式的拆分【修订】

    而在正则表达式中,操作符都体现在结构中,即由特殊字符和普通字符所代表的一个个特殊整体。 JS正则表达式中,都有哪些结构呢? 字符字面量、字符组、量词、锚字符、分组、选择分支、反向引用。...另外还有反义字符组,表示可以是除了特定字符之外任何一个字符,比如 [^0-9],表示一个非数字字符,也有 \D的简写形式。 量词,表示一个字符连续出现,比如 a{1,3}表示“a”字符连续出现3次。...另外还有常见的简写形式,比如 a+表示“a”字符连续出现至少一次。 锚点,匹配一个位置,而不是字符。比如^匹配字符串的开头,又比如 \b匹配单词边界,又比如 (?=\d)表示数字前面的位置。...\d{15}表示15位连续数字。 \d{17}[\dxX]表示17位连续数字,最后一位可以是数字可以大小写字母"x"。 可视化如下: ?...上面的两个 (...)是一样的结构。表示匹配的是3位数字。因此整个结构是 3位数.3位数.3位数.3位数 然后再来分析 (...): (0{0,2}\d|0?

    88160

    1小时真正掌握正则表达式

    例如, 表达式 a* 匹配以0或更多个a开头的字符, 因为有0个这个条件, 其实也就匹配了所有的字符. 表达式[a-z]* 匹配一个行中所有以小写字母开头的字符串....+t 匹配以首字母c开头以t结尾,中间跟着任意个字符的字符串. "c.+t" => The fat cat sat on the mat. 2.3.3 ? 号 在正则表达式中元字符 ?...=> The fat cat sat on the mat. 2.8 锚点 在正则表达式中, 想要匹配指定开头或结尾的字符串就要使用到锚点. ^ 指定开头, $ 指定结尾. 2.8.1 ^ 号 ^ 用来检查匹配的字符串是否在所匹配字符串的开头...但如果使用 ^b 将匹配不到任何结果. 因为在字符串 abc 中并不是以 b开头. 例如, ^(T|t)he 匹配以 The 或 the 开头的字符串....用于筛选所有匹配结果, 筛选条件为 其前不跟随着断言中定义的格式. 例如, 表达式 (?匹配 cat, 且其前不跟着 The 或 the. "(?<!

    1.3K20

    正则表达式的使用

    php其实也有类似于beautifulsoup的html解析工具,没去了解,毕竟我需要的也不是太繁琐,有需要的也可以去看一下。下面具体介绍正则表达式在php中的使用。...正则表达式在php中的使用 php中支持正则表达式的函数 preg_filter 执行正则表达式搜索和替换 preg_grep 返回匹配模式的数组条目 preg_last_error...preg_split 通过一个正则表达式分隔字符串 php中的PREG常量 PREG_PATTERN_ORDER 结果按照”规则”排序,仅用于preg_match_all(), 即$matches...如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。...序列 ‘\‘ 匹配 “\”,而 ‘(‘ 则匹配 “(“。 ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。

    92320

    秒懂 Linux 三剑客:awk、sed、grep 的超实用操作示例

    匹配换行符以外的任意字符一次 ^hello 匹配以hello开头的行 hello$ 匹配以hello结尾的行 [0-9] 匹配0-9的任意一个字符 [a\|b] 匹配a或b中的任意一个字符 \ 转义符,...`{n}` -匹配前面的字符出现n次 grep -E "a{3}" file.txt #匹配包含连续3个`a`的行。...#9`{n,m}` -匹配前面的字符出现n到m次 grep -E "a{2,4}" file.txt #匹配包含连续2到4个`a`的行 Start grep grep的全称为global regular...即grep可以从单个或多个文本中以行为单位抓取一定的内容。这个内容为某一特定的字符模式,也就是我们上面所说的正则表达式,或是普通的单一字符或字符串。...抓取到内容后,grep默认会把一定的信息给到标准输出中。 以下是结合之前生成的`file.txt`文件内容,用`grep`命令进行正则表达式匹配的示例。

    20820

    一文掌握正则表达式

    什么是正则表达式? 正则表达式是一组由字母和符号组成的特殊文本, 它可以用来从文本中找出满足你想要的格式的句子. 一个正则表达式是在一个主体字符串中从左到右匹配字符串时的一种样式....正则表达式可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等....例如, 表达式 a* 匹配以0或更多个a开头的字符, 因为有0个这个条件, 其实也就匹配了所有的字符. 表达式[a-z]* 匹配一个行中所有以小写字母开头的字符串....+t 匹配以首字母c开头以t结尾,中间跟着任意个字符的字符串. "c.+t" => The fat cat sat on the mat. 2.3.3 ? 号 在正则表达式中元字符 ?...=> The fat cat sat on the mat. 2.8 锚点 在正则表达式中, 想要匹配指定开头或结尾的字符串就要使用到锚点. ^ 指定开头, $ 指定结尾. 2.8.1 ^ 号 ^ 用来检查匹配的字符串是否在所匹配字符串的开头

    2.1K20

    php mbstring强大扩展

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、php扩展是什么?...php //当前php版本支持的所有编码,形成一个数组.我用的是php7.3.4 print_r(mb_list_encodings()); php //\s 是正则表达式中的一个特殊字符组,表示匹配任意空白字符。.以空白空格来分割 print_r( mb_split("\s", "hello world") ); 字符串进行正则表达式匹配和替换操作。 正则表达式模式 [0-9]+ 匹配一个或多个连续的数字。...匹配到的数字通过回调函数进行处理。在这个例子中,回调函数将匹配到的数字转换为整数,并返回其平方值。 最后,通过 echo 输出替换后的结果。 总结 写完了,谢谢大家.

    30410

    CTFshow之web入门---PHP特性上

    由于参与匹配的是字符串内容,我们可以构造非字符串也就是数组内容?...m 多行匹配 多行匹配中存在php,单行不匹配 ?...is_numeric() 函数用于检测变量是否为数字或数字字符串,如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回 1,即 TRUE。...> 要求v1的散列与v2的散列相等, sha1()函数在判断时无法处理数组类型,会返回false,故可以构建数组类型绕过 当然因为没有什么过滤什么的,完全可以直接令v1和v2都置为1,也能得到flag...首先正则表达式只会匹配%00之前的内容,后面的被截断掉,可以通过正则表达式检测,后面通过反转成877%00a,再用intval函数获取整数部分得到877,877为0x36d的10进制。

    28210
    领券