正则表达式


参考1: https://www.runoob.com/java/java-regular-expressions.html
参考2: https://www.runoob.com/regexp/regexp-syntax.html

常见格式

/AAA/BBB

AAA部分是匹配模式,内容是表达式的主体
BBB部分是匹配选项,用来指定匹配的策略

开头与结尾

^ 表示开头
$ 表示结尾

字符

a-z 表示小写字符a-z
A-Z 同理表示大写A~Z 
0-9 表示数字0-9

[ ] 匹配括号内的任意一个字符。例如,[abc] 匹配字符 "a""b""c"[^ ] 匹配除了括号内的字符以外的任意一个字符。例如,[^abc] 匹配除了字符 "a""b""c" 以外的任意字符。

量词 & 限定符

? 表示可以出现或者不出现,可01
* 表示0个或者多个字符,0到正无穷
+ 表示至少出现一次,1到正无穷

*+ 是贪婪的,会尽可能多匹配,当他们后面是问号?时候才会非贪婪。

{
   n} 匹配前面的模式恰好 n 次。
{
   n,} 匹配前面的模式至少 n 次。
{
   n,m} 匹配前面的模式至少 n 次且不超过 m 次。

分组

( ) 用于分组和捕获子表达式。表示一个整体
(?: ) 用于分组但不捕获子表达式。

(ab)表示ab两个字母组成一个整体,两个要一起出现
(ab)+表示多次匹配ab

| 表示或
(cat | dog) 表示可以是 cat 或者 dog
[abc]表示字符只可以来自abc这三个之中,不限制顺序

^表示不能是什么,表示非
^[ 0-9 ]表示不能是0-9,及不能是数字

转义字符

\d 数字字符
\w 单词字符 = 字母,数字,下划线
\s 空格,tab,换行
\D 非数字
\W 非\w
\S 非\s

\n 换行
\r 回车
\f 换页

. 表示任意字符,但不可以是换行符号
^ 表示开头 $ 表示结尾

\b 单词的开头或者结尾,匹配一个单词边界,即字与空格间的位置。
\B 不是开头与结尾

常用修饰符

修饰符 描述信息
i insensitive,忽略大小写
m multi line,多行模式。使得^和$同时锚定所有行的起始和结尾位置。
g global,全局模式。查找所有匹配项。
u unicode,使用unicode字符集。
s single line,让.可以匹配任意字符,包括换行符。

相关推荐

  1. 表达式

    2023-12-14 06:36:03       40 阅读
  2. 表达式

    2023-12-14 06:36:03       47 阅读
  3. 表达式

    2023-12-14 06:36:03       47 阅读
  4. 【Python】表达式

    2023-12-14 06:36:03       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-14 06:36:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-14 06:36:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-14 06:36:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-14 06:36:03       18 阅读

热门阅读

  1. 学习(指针初4

    2023-12-14 06:36:03       40 阅读
  2. 粗到细语义(Coarse-to-Fine Semantics)

    2023-12-14 06:36:03       37 阅读
  3. QT作业4

    QT作业4

    2023-12-14 06:36:03      33 阅读
  4. vue 封装对象深拷贝方法

    2023-12-14 06:36:03       36 阅读
  5. Codeforces Round 912 (Div. 2)

    2023-12-14 06:36:03       39 阅读
  6. vue中的常见使用

    2023-12-14 06:36:03       30 阅读
  7. unet v2学习笔记

    2023-12-14 06:36:03       45 阅读
  8. Vue3 用 Proxy API 替代 defineProperty API 的那些事

    2023-12-14 06:36:03       39 阅读
  9. 【08】ES6:运算符的扩展

    2023-12-14 06:36:03       37 阅读
  10. 【07】ES6:对象的扩展

    2023-12-14 06:36:03       24 阅读
  11. NLP知识点 - perplexity 困惑度

    2023-12-14 06:36:03       30 阅读
  12. 【centos】【python】程序单例

    2023-12-14 06:36:03       37 阅读
  13. 通过Jenkins将应用发布到K8s1.24.3

    2023-12-14 06:36:03       30 阅读