正则表达式学习总结-阿里云开发者社区

开发者社区> taro_秋刀鱼> 正文

正则表达式学习总结

简介: 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
+关注继续查看

概述

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。主要是用来做文本的复杂处理。

基础

1、标准字符集合

标 签 作用
d 任意一个数字,0-9中任意一个
D 除了数字,大写标识相反的意思
w 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”
s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ fnrtv]
. 可以匹配任意字符

2、自定义字符集合

[] 方括号匹配方式,能够匹配方括号内的任意字符

符号 作用
[12A] 匹配“1”,“2”,“A”
1 匹配“a”,“b”,“c”之外的字符
[f-k] 匹配f到k之间的任意一个字符
2 匹配除A到F,0到3之外的字符或数字

3、修饰匹配次数的特殊符号

符号 作用
{n} 表达式重复n次
{m,n} 表达式至少重复m次,至多重复n次
{m,} 表达式至少重复m次
匹配表达式0次或者1次,相当于{0,1}
  • | 表达式至少出现一次,相当于{1,}
  • | 表达式至少出现零次,相当于{0,}

4、贪婪模式和非贪婪模式

贪婪模式:匹配的符合表达式的字符越多越好;
_
非贪婪模式:匹配字符越少越好,匹配的字符后加“?”修饰。
_

5、模式匹配

  • 忽略大小写
    _
  • 单行模式
    整个文本看作一个字符串
  • 多行模式
    文本按照行区分

6、字符边界

标题1 标题2
^ 表示字符串开始的地方
$ 表示字符串结束的地方
b 匹配一个单词的边界(单词边界两边没有其它字符)

_

高级

1、选择符和分组

符号 作用
\ 或的关系(竖线)
() 通过括号组织一组表达式

反向引用

nnn 每一对()会分配一个编号,使用()的捕获根据左括号的顺序从1开始自动编号,通过反向引用,可以对分组已捕获的字符串进行引用。
_
_

2、预搜索(零宽断言)

这个位置应该符合某个条件,判断当前位置的前后字符是否符合指定的条件,但不匹配前后的字符,是对位置的匹配。

标题1 标题2
(?=exp) 后面匹配表达式
(?<=exp) 前面匹配表达式
(?!exp) 断言此位置的后面不能匹配表达式exp
(? 前面不能匹配表达式

_

_

更多参考链接

正则表达式30分钟入门教程

正则表达式在线测试


  1. abc
  2. A-F0-3

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10063 0
正则表达式
正则表达式 1.正则表达式的作用   1.1搜索指定模式的字符串   1.2验证字符串是否符合某种模式(比如,电话号码,邮件,密码等)   1.3替换字符串中指定模式的子字符串。适合用于批量替换一定规律的字符串2.
920 0
正则表达式学习总结
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
1422 0
《正则表达式经典实例(第2版)》——第 1 章 正则表达式简介 1.1正则表达式的定义
正则表达式(regular expression)是一种可以在许多现代应用程序和编程语言中使用的特殊形式的文本模式。它们可以用来验证输入是否符合给定的文本模式;在一大段文本中查找匹配该模式的文本;用其他文本来替换匹配该模式的文本或者重新组织匹配文本的片段;把一块文本切分成一系列更小的文本,当然如果使用不当也可能搬起石头砸自己的脚。
1872 0
正则表达式不再难懂
正则表达式 转载至《正则表达式思维导图,不再难懂》(推荐手机阅读) 导图内容解析 工具 RegexBuddy 语法结构 字符 [ab5@] 匹配"a"...
1105 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13876 0
正则表达式
一、定义 正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式中的元字符   eg:"\\dhello"中的\\d就是有特殊意义的元字符,代表0--9数字中的任意一个,而9hello,1hello都是和正则表达式\\dhello匹配的字符串  --------------...
686 0
+关注
taro_秋刀鱼
博客园主页:https://home.cnblogs.com/u/taro/
239
文章
9
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载