前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >正则表达式学习

正则表达式学习

作者头像
姓王者
发布2024-12-21 14:53:53
发布2024-12-21 14:53:53
680
举报
文章被收录于专栏:姓王者的博客

正则表达式学习

抽象但效率高,学会的话很方便:)

前言

想为铁锈战争语法写高亮的,但是我不会写匹配模式,所以我开始学习正则表达式。 这篇文章可能会继续更新。

推荐网站:

Regex Learn - 逐步从零基础到高阶。

正则表达式文档

类别

表达式

描述

修饰符

/.../g

全局匹配

/.../i

忽略大小写

/.../m

多行模式

/.../s

包含换行符

特殊字符

.

匹配任意单个字符(除了换行符)

^

匹配输入字符串的开始位置

$

匹配输入字符串的结束位置

*

匹配前面的子表达式零次或多次

+

匹配前面的子表达式一次或多次

?

匹配前面的子表达式零次或一次

{n}

匹配确定的n次

{n,}

至少匹配n次

{n,m}

最少匹配n次且最多m次

[]

匹配括号内的任意字符(字符集)

`

`

\

转义特殊字符或表示特殊序列的开始

预定义字符集

\d

匹配任意数字(等价于[0-9])

\D

匹配任意非数字字符

\w

匹配任意字母数字字符(等价于[a-zA-Z0-9_])

\W

匹配任意非字母数字字符

\s

匹配任意空白字符(包括空格、制表符、换行符等)

\S

匹配任意非空白字符

量词

*

匹配前面的字符零次或多次

+

匹配前面的字符一次或多次

?

匹配前面的字符零次或一次

{n}

匹配前面的字符n次

{n,}

至少匹配n次

{n,m}

最少匹配n次且最多m次

分组与捕获

(...)

将多个表达式组合成一个子表达式,并捕获匹配的文本

零宽断言

^

匹配字符串的开始

$

匹配字符串的结束

\b

匹配一个单词边界

\B

匹配一个非单词边界

(?=...)

正向前瞻断言,匹配…前面的位置

(?!...)

负向前瞻断言,匹配除了…外前面的位置

(?<=...)

正向后瞻断言,匹配…后面的位置

(?<!...)

负向后瞻断言,匹配除了…外后面的位置

一般而言,我们通常使用/.../g来进行全局匹配

特殊字符

直接匹配

/nihao/g

skdabgnihaoniasbf

.

这个是通配符,匹配任意字符,例如

/./g

saklnfobovibo

^

这个是匹配开头的字符串,例如

/^class/g

classroom

$

这个是匹配输入字符串的结尾

/room$/g

classroom

*

这个是匹配前面的字符零次或多次,也就是计算理论中的星闭包 *

/lu*ck/g

luck,luuuuuck,lck

+

这个是匹配前面的字符一次或多次,也就是计算理论中的加法闭包或叫正闭包 +

/go+gle/g

google,gooogle,goooooogle

?

这个是匹配前面的字符零次或一次.

/apples?/g

apples,apple

{}

{n}

这个是匹配确定的n次

/hello{3}/g

hellooo,hello,helloo

{n,}

这个是至少匹配n次,也可以看作一种区间形式

/hello{2,}/g

hellooo,helloo,helloo

{n,m}

这个是最少匹配n次且最多m次,可以理解为区间

/hello{2,4}/g

hellooo,helloo,hello,hell,helloooo

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024/12/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正则表达式学习
    • 前言
      • 正则表达式文档
    • 特殊字符
      • 直接匹配
      • .
      • ^
      • $
      • *
      • +
      • ?
      • {}
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档