正则表达式

文章目录

一、正则表达式

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

  • 正则表达式(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 的字符串。
相关推荐
Dawn-bit17 小时前
Linux日志处理三剑客之基础篇:(基础正则+扩展正则)
linux·运维·服务器·正则表达式·云计算·运维开发
寒水馨20 小时前
macOS下载、安装ripgrep-15.2.0(附安装包ripgrep-15.2.0-aarch64-apple-darwin.tar.gz)
macos·正则表达式·rust·ripgrep·rg·命令行搜索·代码搜索
冰暮流星6 天前
javascript之正则表达式声明
正则表达式
Oo大司命oO6 天前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
酷可达拉斯7 天前
Linux操作系统-shell编程之Grep与正则表达式
linux·运维·服务器·正则表达式·centos
互联网中的一颗神经元11 天前
小白python入门 - 23. Python 正则表达式的应用
python·正则表达式
2501_9364156912 天前
API-正则表达式&时间&包装类
正则表达式
鹤卿12315 天前
谓词与正则表达式(OC)
ios·正则表达式·objective-c·xcode
饼干哥哥18 天前
10.5% 深层转化、90%+ 新用户,ChatGPT Ads 值得吗?
算法·正则表达式·编程语言
饼干哥哥19 天前
Seedance TK视频「真人感」问题的 9 个解法
正则表达式·代码规范·设计