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

正则表达式

时间:2024-09-22 16:49:03浏览次数:3  
标签:字符 匹配 数字 正则表达式 集合 任意

	正则表达式(Regular Expression,简称Regex或RegExp)是一种用于描述、匹配和操作字符串的强大工具。它
由一系列字符和特殊符号(称为元字符)组成,用于在文本中搜索、替换和提取符合特定模式的字符串。正则表达式在计
算机科学和软件开发中被广泛应用,包括文本处理、数据验证、模式匹配等多个领域。

一、正则表达式的基本组成

1.普通字符:代表它们本身,如字母、数字、标点符号等。

2. 元字符:具有特殊含义的字符,用于表示一些特定的字符或字符集合。

.:匹配除换行符以外的任意字符。
\d:匹配任意一个数字。
\w:匹配任意一个字母、数字或下划线。
\s:匹配任意一个空白字符(包括空格、制表符、换行符等)。
\b:匹配单词的边界。
^:匹配字符串的开始位置。
$:匹配字符串的结束位置。

3.字符类:用方括号[]表示,用于匹配一个字符集合中的任意一个字符。

[abc]:匹配字符a、b或c中的任意一个。
[0-9]:匹配任意一个数字。
[a-zA-Z]:匹配任意一个字母。

4.量词:用于指定前面的字符或字符集合出现的次数。

*:匹配前面的字符或字符集合出现0次或多次。
+:匹配前面的字符或字符集合出现1次或多次。
?:匹配前面的字符或字符集合出现0次或1次。
{n}:匹配前面的字符或字符集合出现恰好n次。
{n,}:匹配前面的字符或字符集合出现至少n次。

5.分组和引用:用小括号()表示,用于将一组字符作为一个整体进行匹配,并可以在后续的正则表达式中引用。

(ab)+:匹配连续出现的"ab"字符串。
\1:引用第一个分组匹配到的字符串。

二、示例

1.匹配手机号

手机号通常是以1开头,第二位是3、4、5、7、8中的一个数字,后面跟着9位数字。正则表达式可以写为:^1[3-8]\d{9}$。

2.匹配邮箱地址

邮箱地址通常由用户名、@符号和域名组成。用户名可以包含字母、数字、下划线和点,域名通常是字母和数字的组合,以.分隔,并以顶级域名(如.com、.cn)结束。一个简单的邮箱地址正则表达式示例为:[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]+\.[A-Za-z]{2,6}$。

3.匹配IP地址

IP地址由四组数字组成,每组数字范围从0到255,组间由.分隔。一个匹配IPv4地址的正则表达式示例为:^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$。

4.匹配HTML标签

匹配以<开头,后跟一个或多个小写字母,并以>结尾的HTML标签。正则表达式可以写为:^<([a-z]+)>。如果需要匹配包含属性的标签,可以使用更复杂的正则表达式,但通常需要根据具体情况定制。

三、注意事项

正则表达式的语法相对复杂,但非常强大。学习和使用正则表达式需要一定的时间和经验。
编写复杂的正则表达式可能会带来性能上的问题,因此在使用时应根据实际需求选择合适的表达式,并进行测试和优化。
在实际应用中,正则表达式通常与编程语言结合使用,不同的编程语言对正则表达式的支持可能有所不同。因此,在使用时需要参考相应编程语言的文档。

标签:字符,匹配,数字,正则表达式,集合,任意
From: https://blog.csdn.net/m0_63550220/article/details/142415192

相关文章

  • JavaScript 中的正则表达式
    没有多少人谈论正则表达式,尽管它们对于文本操作和数据验证非常有用。它们提供了一种强大的方法来搜索、匹配和替换字符串中的模式。在JavaScript中,RegExp是一个可以有效地用来查找和操作这些模式的对象,无论您是在验证电子邮件、格式化电话号码还是解析日志。正则表达式甚至可......
  • java 正则表达式 匹配日期格式的字符串
    这个正则表达式 ^\d{4}-\d{2}-\d{2}$ 用于匹配特定格式的字符串,具体来说,它匹配一个由四位数字、一个短横线(-)、接着是两位数字、再一个短横线、最后是两位数字组成的字符串。这种格式通常用于表示日期(年-月-日),但需要注意的是,它并不验证日期的有效性(比如,它不会检查月份是否超过12或......
  • C#常用正则表达式
    来源:https://www.cnblogs.com/chaowang/p/6274852.html一、校验数字的表达式 1数字:^[0-9]*$ 2n位的数字:^\d{n}$ 3至少n位的数字:^\d{n,}$ 4m-n位的数字:^\d{m,n}$ 5零和非零开头的数字:^(0|[1-9][0-9]*)$ 6非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?......
  • 超详细 正则表达式【源码解析+代码例子+图】
    由于正则表达式这个东西比较抽象,我推荐大家先看原理部分。在看原理部分如果有的表达式看不懂可以去下面看表,元字符这些东西还是比较好理解的。大家可以把我写的代码复制到编译器上跑一下,这样会更容易理解。一.基本介绍正则表达式就是用某一种模式去匹配字符串,筛选我们想要的......
  • MySQL篇(高级字符串函数/正则表达式)(持续更新迭代)
    目录讲点一:高级字符串函数一、简介二、常见字符串函数1.CONCAT()2.SUBSTRING()3.LENGTH()4.REPLACE()5.TRIM()6.UPPER()7.LOWER()8.LEFT()9.RIGHT()10.INSTR()11.LENTH(str)讲点二:正则表达式一、简介二、语法1.字符类2.重复次数3.通配符4.......
  • Python 从入门到实战16(正则表达式语法)
            我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。上篇文章我们通过举例学习了字符串一些操作说明。今天讨论一下正则表达式的语法。也是经常会用到的。1、正则表......
  • Python 之正则表达式(Regular Expressions in Python)
    ......
  • C语言的正则表达式
    C标准库不支持正则表达式,但大部分Linux发行版本都带有第三方的正则表达式函数库。以常见的<regex.h>为例:/*regcomp将正则表达式编译成适合后续regexec函数搜索的形式preg指向模式缓冲区,传出参数regex字符串,传入参数cflag决定编译类型,可位或:-REG_EXTENDED扩展正则表达式......
  • Ts+正则表达式格式化时间
     1.padStart:padStart(targetLength,padString):用另一个字符串填充当前字符串(如果需要会重复填充),直到达到给定的长度。填充是从当前字符串的开头开始的。最后返回一个新的字符串。targetLength:当前str填充后的长度。如果该值小于或等于str.length,则会直接返回当前str。pa......
  • 正则表达式
    正则表达式是一种文本模式匹配。它是一个三方产品。常见的shell中有grepsedawk命令支持。通过提供特殊字符来生成一个匹配对应字符串的公式,用此来从海量数据中匹配出想要的数据。1.特殊字符^锚定开头^a以a开头,默认锚定一个字符¥锚定结尾a$以a结尾,默认锚定一个字符......