【正则表达式】字符与运算符
正则表达式 (regular expression描述了一种字符串匹配的模式 (pattern),可以用来检查一个串是否含有某种子串将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
例:
runoo+b,+号代表前面的字符必须至少出现一次
可匹配runout、runooob、runooooob但不能匹配“runo”
runoo*b,*号代表字符可以不出现,也可以出现一次或者多次
可匹配runob、runco、runooooob
colou?r,?号代表前面的字符最多只可以出现一次
可匹配color、colour
正则表达式是由普通字符(例如字符a到z)以及特殊字符(称为"元字符")组成的文字模式。
普通字符
包括所有大小写字母、所有数字、所有标点符号和一些其他符号。
非打印字符
非打印字符 | 描述 |
---|---|
cx | 匹配由x指明的控制字符。例,cM匹配一个control-M或者回车符。x的值必须为A-Z或a-z之一。否则视为一个原义的’c‘字符 |
f | 匹配一个换页符。等价于x0c和cL。 |
n | 匹配一个换行符。等价于x0a和cJ。 |
r | 匹配一个回车符。等价于下x0d和cM。 |
s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ fnrtv] |
S | 匹配任何非空白字符。等价于[^ fnrtv] |
t | 匹配一个制表符。等价于x09和cl。 |
v | 匹配一个垂直制表符。等价于x0b和cK。 |
特殊字符
顾名思义,具有特殊含义的字符。
如果要查找字符串中的特殊字符,则需要对其转义,即将反斜杠字符放在它们前面
特殊字符 | 描述 |
---|---|
$ | 匹配输入字符串的结尾位置。如果设置了RegExp对象的Multiline属性,则也匹配′n′或′r′。要匹配也匹配'n'或'r'。要匹配也匹配′n′或′r′。要匹配字符本身,请用$。 |
() | 标记一个子表达式的开始和结束的位置。子表达式可以获取供以后使用 |
* | 匹配前面的子表达式0次或者多次 |
+ | 匹配前面的子表达式一次或者多次 |
. | 匹配除换行符n之外的任何单字符。 |
[ | 标记一个中括号表达式的开始 |
? | 匹配前面的子表达式0次或者一次,或指明一个非贪婪限定符。 |
^ | 匹配输入字符串的开始位置,除非在括号表达式中使用,此时它表示不接受该字符集合 |
{ | 标记限定符表达式的开始。 |
I | 指明两项之间的一个选择 |
限定符
限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有*或+或?或{n}或{n, }或{n,m}共6种。
字符 | 描述 |
---|---|
* | 匹配前面的子表达式0次或者多次。等价于{0,} |
+ | 匹配前面的子表达式一次或者多次。等价于{1,} |
? | 匹配前面的子表达式0次或者一次。等价于{0,1} |
{n} | n是一个非负整数,匹配确定的n次。例如不能匹配“Bob”能匹配“food” |
{n,} | n是一个非负整数,至少匹配n次。‘o{1,}’等价于‘o+’。’o{0,}'等价于‘o*’ |
{n,m} | 其中m,n都为非负,n<=m。最少n次最多m次 |
定位符
定位符使能够将正则表达式固定到行首或行尾
还能使能够创建这样的正则表达式
定位符用来描述字符串或单词的边界,^和$分别指字符串的开始与结束,b描述单词的前或后边界,B表示非单词边界
字符 | 描述 |
---|---|
^ | 匹配输入字符串开始的位置。 |
$ | 匹配输入字符串结尾的位置 |
b | 匹配一个单词的边界,即字与空格间的位置。 |
B | 非单词边界匹配。 |
注意:不能将限定符与定位符一起使用,由于在紧靠换行或者单词边界的前面或后面不能有一个以上位置
若要匹配一行文本开始处的文本,请在正则表达式的开始使用字符。不要将^的这种用法与中括号表达式内的用法混淆。
若要匹配一行文本的结束处的文本,请在正则表达式的结束处使用$字符若要在搜索章节标题时使用定位点
运算符优先级
从左到右进行计算,并遵循优先级顺序,下表从高到低
运算符 | 描述 |
---|---|
/ | 转义符 |
(),(?:),(?=),[] | 圆括号和方括号 |
*,+,?,{n},{n,},{n,m} | 限定符 |
^,$,任何元字符、任何字符 | 定位点和序列(即:位置和顺序) |
I | 替换,“或”操作,若要匹配“mood”或“food”,从而产生“(m |
【正则表达式】字符与运算符相关推荐
- JS正则表达式字符匹配
正则表达式字符匹配 这是阅读<JavaScript正则表达式迷你书>后整理的一些笔记. 正则表达式是匹配模式,要么匹配字符,要么匹配位置. 下面主要介绍匹配字符的情况,匹配位置的情况我也正 ...
- php 正则 转移,php 正则表达式字符怎样转义
php 正则表达式字符怎样转义 发布时间:2020-11-10 10:07:12 来源:亿速云 阅读:80 作者:小新 这篇文章给大家分享的是有关php 正则表达式字符怎样转义的内容.小编觉得挺实用的 ...
- php 正则特殊字符转义,php 正则表达式字符如何转义
在php中可以通过"preg_last_error"函数将正则表达式字符进行转义,其语法是"string preg_quote ( string $str [, stri ...
- 处理字符数据--运算符和函数
字符串串联运算符(加号[+]) T-SQL提供了加号(+)运算符,可以将两个或多个字符串合并或串联成一个字符串.例如,以下对Employees表的查询将雇员的firstname列.一个空格,以及las ...
- c语言字符型运算符,C语言试题:数据类型、运算符与表达式
<C语言试题:数据类型.运算符与表达式>由会员分享,可在线阅读,更多相关<C语言试题:数据类型.运算符与表达式(4页珍藏版)>请在人人文库网上搜索. 1.3 数据类型.运算符与 ...
- php 两个单词 正则表达式字符前_【阅读整理】正则表达式 - 基础篇
前言 大家学生时代在数学卷子上的填空题,可能会遇到这样的找规律题目,比如最简单的等差数列: 已知数列:1,5,9,13,17-,求该数列的表达式是 ___________ 答案是显而易见的:4*n-3 ...
- php 两个单词 正则表达式字符前_PHP正则表达式核心技术完全详解 第3节
PHP 正则表达式核心技术详解 第3节 我们在第2节中学习了有关正则的原子.元字符.原子表.转义字符等重要知识点, 这一节我们来讲一下正则中的量词.断言匹配.逻辑匹配.等重要知识! 1 量词 量词: ...
- awk 正则表达式、正则运算符详细介绍
前言:使用awk作为文本处理工具,正则表达式是少不了的. 要掌握这个工具的正则表达式使用.其实,我们不必单独去学习它的正则表达式.正则表达式就像一门程序语言,有自己语法规则已经表示意思. 对于不同工具 ...
- 正则表达式字符串匹配和字符串提取
1.判断字符串是否满足条件: (1)以aaa .bbb或 ccc 开头 (2)中间为0个到10为数字 (3)"#" 结束 public static void main(Strin ...
最新文章
- 我室友拿到了字节50万年薪,太牛逼了
- 曾经用过的Sql Server分页方法小结
- 一次完整的HTTP事务是怎样一个过程
- 关于CS架构文件传输流的问题,文中代码都是转自网上,但可保证代码无无误...
- js(jQuery)获取时间的方法及常用时间类
- JDK API文档下载
- Android Gradle插件(plugin)版本(version)与Gradle、SDK Build Tools版本关系
- STM32F103xxx大容量增强型芯片之间有什么区别?(来自STM32神舟系列)
- Dreamweaver里文档工具栏位置
- Djunit工作记录
- Android AbsoluteLayout 绝对布局
- gpu opencl 向量加_【Embedding】GloVe:大规模语料中快速训练词向量
- 昂达 v891 v1 终于 删除 windows 分区 并且恢复了容量。
- xhr的get和post请求的简单实现
- 基于SSM毕业生就业管理系统
- [NOIP2005提高组]过河
- 七牛云实现视频拼接和转码
- VS CODE 使用介绍
- 大学c语言基础 Turbo C2.0 (32位/64位通用)
- PBR——概述、基于物理的材质