正则表达式:简明教程

正则表达式:简明教程

声明:

本节内容主要转载自以下文章,感谢作者的辛勤劳作!

https://github.com/CyC2018/Interview-Notebook/blob/master/notes/正则表达式.md

概述

  正则表达式用于文本内容的查找和替换

  正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件

匹配单个字符

语法说明:

  . 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符

   是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 进行转义,即在 . 前面加上 。

实例:

【应用】
匹配单个字符
【正则表达式】
nam.
【匹配结果】
name
nama
namf

使用子表达式

语法说明:

  1. 使用  ( ) 定义一个子表达式。子表达式的内容可以当成一个独立元素,即可以将它看成一个字符,并且使用 * 等元字符
  2. 子表达式可以嵌套,但是嵌套层次过深会变得很难理解。
  3. | 是或元字符,它把左边和右边所有的部分都看成单独的两个部分,两个部分只要有一个匹配就行

实例:

【正则表达式】
(ab){2,}
【匹配结果】
ababab

【正则表达式】
(19|20)d{2}
【匹配结果】
1920
2019

回溯引用

语法说明:

回溯引用使用    来引用某个子表达式,其中 n 代表的是子表达式的序号,从 1 开始它和子表达式匹配的内容一致,比如子表达式匹配到 abc,那么回溯引用部分也需要匹配 abc

实例:

【应用】
匹配 HTML 中合法的标题元素
【正则表达式】
<(h[1-6])>w*?</1>
【匹配结果】
<h1>x</h1>
<h2>x</h2>
<h3>x</h1>

 

 

原文地址:https://www.cnblogs.com/MrSaver/p/9124226.html