首页 > 其他分享 >正则表达式详解

正则表达式详解

时间:2023-05-10 14:22:27浏览次数:46  
标签:字符 匹配 正则表达式 详解 字符串 word 元字符

一、正则表达式概述

正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。通俗的讲就是按照某种规则去匹配符合条件的字符串

一个正则表达式是一种从左到右匹配主体字符串的模式。 “Regular expression”这个词比较拗口,我们常使用缩写的术语“regex”或“regexp”。 正则表达式可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等

二、基础语法表格

首先是最基础的匹配规则

single char(单字符) quantifiers(数量) position(位置)
\d 匹配数字 * 0个或者更多 ^一行的开头
\w 匹配word(数字、字母) + 1个或更多,至少1个 $一行的结尾
\W 匹配非word(数字、字母) ? 0个或1个,一个Optional \b 单词"结界"(word bounds)
\s 匹配white space(包括空格、tab等) {min,max}出现次数在一个范围内
\S 匹配非white space(包括空格、tab等) {n}匹配出现n次的
. 匹配任何,任何的字符

二、元字符

正则表达式主要依赖于元字符。元字符不代表他们本身的字面意思,他们都有特殊的含义。一些元字符写在方括号中的时候有一些特殊的意思。

1.元字符举例

元字符 描述
. 句号匹配任意单个字符除了换行符。
[] 字符种类。匹配方括号内的任意字符。
[^] 否定的字符种类。匹配除了方括号里的任意字符
* 匹配>=0个重复的在*号之前的字符。
+ 匹配>=1个重复的+号前的字符。
? 标记?之前的字符为可选.
匹配num个大括号之前的字符或字符集 (n <= num <= m).
(xyz) 字符集,匹配与 xyz 完全相等的字符串.
| 或运算符,匹配符号前或后的字符.
\ 转义字符,用于匹配一些保留的字符 `[ ] ( ) { } . * + ? ^ $ \
^ 从开始行开始匹配.
$ 从末端开始匹配.

标签:字符,匹配,正则表达式,详解,字符串,word,元字符
From: https://www.cnblogs.com/hxss/p/17387696.html

相关文章

  • C#-JSON详解
      最近在做微信开发时用到了一些json的问题,就是把微信返回回来的一些json数据做一些处理,但是之前json掌握的不好,浪费了好多时间在查找一些json有关的转换问题,我所知道的方法只有把json序列化和反序列化一下,但是太麻烦了我觉得,所以就在找一些更简单又方便使用的方法。也许这个会......
  • JDK1.7和JDK1.8和HashMap详解
    近期对JDK1.7和JDK1.8的HashMap源码进行了学习,今天也在这里进行个人总结一下。首先,众所周知,HashMap是以键值对的方式存储数据的,1.7的底层数据结构是数组+链表,是一个Entry数组。1.8的底层数据结构是数组+链表+红黑树·,是一个Node对象的数组。下面我就根据源码分析下HashMap是怎么......
  • js基础---date的格式化与exec()正则表达式
    exec():获取字符串中符合正则表达式的内容。正则表达式中的匹配模式:i代表忽略大小写,g代表全局匹配......
  • 8. 正则表达式
    1.findall语法findall("正则表达式","要匹配的字符串")把匹配的内容返回到列表匹配数字\dimportrelist=re.findall("\d","123331231%%%@@@你好")print(list)匹配非数字\Dimportrelist=re.findall("\D","123331231%%%@@@你好"......
  • CMake的生成器详解
    CMake会通过CMakelist.txt文件,生成适用于不同项目类型的makefile文件,然后makefile文件被不同的编译器使用进行编译,考虑到C/C++的开发环境之多,有非常多的种类的项目开发环境,但是CMake基本上都考虑到了,这里做一个小的汇总。CMake支持下列generator:VisualStudio6:生成VisualSt......
  • CSS定位方法详解
    css概述:1.css(CascadingStyleSheets)是一种语言,它用来描述HTML和XML的元素显示样式。2.css语言中有css选择器,在selenium中可以使用这种选择器来进行元素定位。3.css定位方法比xpath快,而且css语言也非常强大,所以非常推荐这种定位方法。定位方法:find_element_by_css_selector()......
  • CentOS7中firewall防火墙详解和配置
    提示修改防火墙配置文件之前,需要对之前防火墙做好备份重启防火墙后,需要确认防火墙状态和防火墙规则是否加载,若重启失败或规则加载失败,则所有请求都会被防火墙拒绝firewalld的基本使用#停止firewallsystemctlstopfirewalld.service#禁止firewall开机启动systemctldisab......
  • JavaScript 正则表达式
    正则表达式RegularExpression在编程语言中,正则表达式用于匹配指定的字符串。如果想要在字符串Thedogchasedthecat中匹配到the这个单词,可以使用如下正则表达式:/the/。注意,正则表达式中不需要引号。使用测试方法TestMethodJavaScript中有多种使用正则表达式的方法......
  • 正则表达式和String类有关方法
    正则表达式介绍正则表达式,又被称为规则表达式(RegularExpression,在代码中常简写为regex、regexp或RE),包括普通字符(例如:a到z之间的字符等)和特殊字符(称为元字符)。正则表达式使用单个字符串来描述、匹配一系列匹配某个语法规则的字符串,被广泛运用于于Scala、PHP、C#、Java、C+......
  • 【nodejs基础】Express、路由、中间件详解04
    一、Express简介Express是基于Node.js平台,快速、开放、极简的Web开发框架通俗的理解:Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的。本质就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法中文官网http://www.expressjs.com.cn......