正则表达式零基础入门

正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。

各个编程语言中都支持正则表达式

正则表达式的用途有很多,比如:

  1. 表单输入验证
  2. 搜索和替换
  3. 过滤大量文本文件(如日志)中的信息
  4. 读取配置文件
  5. 网页抓取
  6. 处理具有一致语法的文本文件,例如 CSV

基本语法

找一个在线的正则表达式,把语法掌握,然后再带入到具体的编程语言中

RegExr: Learn, Build, & Test RegEx

字符集合

使用“[]”

字符范围

使用“-”

中文:[\u4e00-\u9fa5]

数量字符

{m,n}

最少匹配m个,最多匹配n个

+:匹配前面一个表达式一次或者多次,相当于{1,}。

*:匹配前面一个表达式0次或者多次,相当于{0,}。

?:单独使用匹配前面一个表达式零次或者一次,相当于{0,1},

贪婪模式

正则会尽可能的匹配多的字符

非贪婪模式

尽可能匹配少的

元字符

元字符说明
\d匹配数字
\D匹配非数字
\w匹配数字、字母、下划线
\W匹配非数字、字母、下划线
\s匹配任意的空白字符
\S匹配任意的非空白符
.匹配除换行符之外的任意字符

特殊字符

特殊字符说明
.匹配除了换行符之外的任何单个字符
|将特殊字符转义
[^]取非,匹配未包含的任意字符

位置匹配

位置字符说明
\b匹配一个单词边界,也就是指单词和空格间的位置。
\B匹配非单词边界。
^匹配开头,在多行匹配中匹配行开头。
$匹配结尾,在多行匹配中匹配行结尾。

分组

使用小括号

捕获分组

无捕获分组

有些时候,使用小括号只是希望把它当做一个整体,不希望分组

修饰符

修饰符说明
g表示全局匹配,即在整个字符串中搜索所有匹配项,而不仅仅是第一个匹配项。
i表示在匹配时忽略大小写。
m表示多行模式,在这种模式下,正则表达式可以同时匹配每一行的内容,而不仅仅是整个字符串。
s在默认情况下,.元字符匹配除了换行符之外的任意字符。但是在设置了s修饰符后,.元字符也会匹配换行符。

m模式

主要影响^和$符合的行为

s模式

点号可以匹配换行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值