夜owl

困到睡不着
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

正则表达式

Posted on 2023-08-18 14:14  夜owl  阅读(8)  评论(0编辑  收藏  举报

正则表达式

1. 概述

正则表达式是一种用于匹配和处理文本模式的工具。它可以在文本中搜索、替换、分割和提取符合特定模式的字符串。

使用正则表达式时,您可以根据需要构建适合的模式,然后将模式应用到目标文本中进行匹配和处理。正则表达式在文本处理、数据验证、文本分析等方面有着广泛的应用。

1.1. 常用的工具

很多工具都自带正则表达式搜索,比如notepad++,vscode,如图所示,所以学习正则表达式很有用
Alt text

另外python也常用到

2. 常用元字符和符号

这里列举常用的,没有列举以后用到的时候也会汇总这里

2.1. .

:匹配任意单个字符,除了换行符。

2.2. *

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

2.3. +

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

2.4. ?

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

2.5. ^

:匹配字符串的开头。

2.6. $

:匹配字符串的结尾。

2.7. \d

:digit,匹配任意数字。

2.8. \w

:word,匹配任意字母、数字或下划线。

2.9. \s

:space,匹配任意空白字符(空格、制表符、换行符等)。

2.10. [...]

:匹配方括号中列举的任意一个字符。可以用-来表示区间

2.11. [^...]

:匹配除了方括号中列举的字符以外的任意一个字符。

2.12. ( )

:捕获分组,用于提取匹配的子字符串或应用其他操作。

2.13. \

:转义,正则表达式中,一些特殊字符具有特殊含义,如果想要匹配这些特殊字符本身,需要使用反斜杠\进行转义去匹配,比如\[是匹配[

3. 常用的操作

3.1. 替换换行

正则可以识别换行符,然后就可以进行替换操作。如图,是将换行符的后面的符号变成前面
Alt text

3.2. 识别字符段

\{[^}]*width="([^}]*)"[^}]*\}

这个正则表达式的具体含义如下:

  • \{:匹配左大括号 {
  • [^}]*:匹配除右大括号 } 之外的任意字符。
  • width=:匹配 width= 字符串。
  • ([^}]*):使用括号捕获分组,匹配除右大括号 } 之外的任意字符,即 width 的值。
  • [^}]*:匹配除右大括号 } 之外的任意字符。
  • \}:匹配右大括号 }