正则表达式

一、正则表达式

  • 正则表达式就是一行字符串,用来描述一定的规则。

  • 正则表达式(Regular Expression),通常采用这两个单词的首字母合在一起,把正则表达式相关的变量名定义为 regexp(单数)或 regexps(复数)。

  • 在 Java 的 String 类中,也会有几个相关的替换方法,它也是支持正则表达式的,它的参数命名也为 regex 。

  • 正则表达式在线练习网站:正则表达式在线练习网站

1.1 正则的组成结构

  • 正则表达式通常由一些字符,以及一些元字符组成。
  • 普通字符:就是本身作为一个字符时,它不具有其它含义,像我们常用的大小写字母和数字。
  • 元字符:就是除了本身作为一个字符外,它还可以表达其它含义。

二、基础语法表格

  • 首先是最基础的匹配规则
single char(单字符)quantifiers(数量)position(位置)
\d 匹配数字* 0个或者多个^一行的开头
\w 匹配word(数字、字母)+ 1个或者更多,至少一个$一行的结尾
\W 匹配非word(数字、字母)? 0个或1个,一个Optional\b 单词“结界”(word bounds)
\s 匹配white space (包括空格、tab等){min,max}出现次数在一个范围内
\S 匹配非white space(包括空格、tab等){n}匹配出现n次的
. 匹配任何,任何的字符

三、元字符

  • 正则表达式主要依赖于元字符。元字符不代表它们本身的字面意思,它们都是有特殊的含义。一些元字符写在方括号( [ ] )中的时候有一些特殊的意思。
元字符描述
.点匹配任意单个字符,除了换行符。
[ ]字符种类。匹配方括号( [ ] )内的任意字符。
[^ ]否定的字符种类。匹配除了方括号里的任意字符。
*匹配>=0个重复的在 * 号之前的字符。
+匹配>=1个重复的 + 号前的字符。
标记 ? 之前的字符为可选。
{n,m}匹配 num 个大括号之前的字符或字符集(n <= num <= m)。
(xyz)字符集,匹配符号前或后的字符。
|或运算符,匹配符号前或后的字符。
\转义字符,用于匹配一些保留的字符 ` [ ] ( ) . * + ? ^ $
^从开始行开始匹配。
$从末端开始匹配。

3.1 点运算符 – > .

  • “ . ” 是元字符中最简单的例子。“ . ” 匹配任意单个字符,但不匹配换行符。例:表达式 [. . . o] 匹配3个(几个点就几位)任意字符后面跟着是 [ o ] 的字符串。

      1. '...o' =>	#三个“ . ” 为前三位为任意
    

3.2 字符集

  • 字符集也叫做字符类。方括号用来指定一个字符集。在方括号中使用连字符来指定字符集的范围。在方括号中的字符集不关心顺序。

3.2.1 字符集中匹配句号 “ . ”

  • 之前讲过的点运算符,被用来匹配任意字符,那么作为字符串中的句号,该如何匹配?
  • 方括号的句号就表示句号。表达式 master[.] 匹配 master. 字符串。

3.2.2 否定字符集 “ ^ ”

  • 一般来说 “ ^ ” 表示一个字符串的开头,但 “ ^ ” 用在方括号的开头的时候,它就表示这个字符集是否定的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值