iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >正则表达式基础知识点有哪些
  • 718
分享到

正则表达式基础知识点有哪些

2023-07-05 16:07:27 718人浏览 安东尼
摘要

这篇“正则表达式基础知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“正则表达式基础知识点有哪些”文章吧。正则表达式

这篇“正则表达式基础知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“正则表达式基础知识点有哪些”文章吧。

正则表达式是什么

校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。正则表达式的目的是真正的强大之处就在于可以查找符合某个规则的文本。

元字符

1.特殊字符串

  • . 除换行符外任意字符

  • \d 表示任意单个数字

  • \w 表示任意单个数字或字母或下划线

  • \s 表示任意单个空白符

\D \W \S,意思正相反。

2.空白符

  • \r 回车符

  • \n 换行符

  • \f 换页符

  • \t 制表符

  • \v 垂直制表符

  • \s 任意空白符

3.量词

  • * 代表0次到多次

  • + 1次到多次

  • ? 0到1次

  • {m} 出现m次

  • {m,} 出现至少m次

  • {m,n} m到n次

4.范围

  • |或 ,如ab|bc代表ab或bc

  • [...] 多选一,括号中任意单个元素

  • [a-z] 匹配a-z之间任意单个元素

  • [^..] 取反,不能包括括号中的任意单个元素

贪婪匹配、非贪婪匹配和独占模式

  • 贪婪模式的特点就是尽可能进行最大长度匹配

  • 非贪婪模式会尽可能短地去匹配。

  • 独占模式和贪婪模式很像,独占模式会尽可能多地去匹配,如果匹配失败就结束,不会进行回溯,这样的话就比较节省时间。具体的方法就是在量词后面加上加号(+),例如xy{1,3}+yz

注意: pythonGo 的标准库目前都不支持独占模式。

(“.+?”)|\w{2,6}

分组和引用

正则表达式基础知识点有哪些

如图所示的正则,将日期和时间都括号括起来。这个正则中一共有两个分组,日期是第 1 个,时间是第 2 个。

1.不保存子组

分组的作用就是后续可能还会被引用到,但是如果不需要引用的时候可以添加不保存子组,表达式(?:xxx),优点是正则性能会更好,在子组计数时也更不容易出错。

2.括号嵌套

正则表达式基础知识点有哪些

四种匹配模式

1.不区分大小写模式(Case-Insensitive)

不区分大小写模式,正则表达式(?i)cat,这样匹配的字符就不区分大小写了

如果我们想要前面匹配上的结果,和第二次重复时的大小写一致,那该怎么做呢?我们只需要用括号把修饰符和正则 cat 部分括起来,加括号相当于作用范围的限定,让不区分大小写只作用于这个括号里的内容。正则表达式((?i)cat)

2.点号通配模式(Dot All)

元字符里讲.可以匹配除了换行以外的任何元素,用单行模式中使用.,正则表示式(?s).

3.多行匹配模式

多行模式的表达式(?m)^...|...$,这样的匹配好处是每一行

4.注释模式

略...

断言

断言是指对匹配到的文本位置有要求。

1.单词边界

在准确匹配单词时,我们使用 \b...\b 就可以实现了,也可以指定表达式的开头和结尾^...$

2.环视

环视的主要是定义清晰的边界。

  • (?<=Y),左边是Y

  • (?<=!Y),左边不是Y

  • (?=Y),右边是Y

  • (?!Y),右边不是Y

左尖括号代表看左边,没有尖括号是看右边,感叹号是非的意思。

常用正则Demo

正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

  • 匹配中文字符的正则表达式: [u4e00-u9fa5]

  • 匹配双字节字符(包括汉字在内):[^x00-xff]

  • 匹配空白行的正则表达式:ns*r

  • 匹配html标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />

  • 匹配首尾空白字符的正则表达式:^s*|s*$

  • 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

  • 匹配网址URL的正则表达式:[a-zA-z]+://[^s]*

  • 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

  • 匹配国内电话号码:d{3}-d{8}|d{4}-d{7}( 匹配形式如 0511-4405222 或 021-87888822)

  • 匹配中国邮政编码:[1-9]d{5}(?!d)

  • 匹配身份证:d{15}|d{18}

2.匹配特定数字:

  • 匹配正整数 ^[1-9]d*$

  • 匹配负整数 ^-[1-9]d*$

  • 匹配整数 ^-?[1-9]d*$

  • 匹配非负整数(正整数 + 0)^[1-9]d*|0$

  • 匹配非正整数(负整数 + 0)^-[1-9]d*|0$

  • 匹配正浮点数 ^[1-9]d*.d*|0.d*[1-9]d*$

  • 匹配负浮点数 ^-([1-9]d*.d*|0.d*[1-9]d*)$

  • 匹配浮点数 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$

  • 匹配非负浮点数(正浮点数 +0) ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$

  • 匹配非正浮点数(负浮点数 + 0) ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$

3.匹配特定字符串:

  • 匹配由26个英文字母组成的字符串 ^[A-Za-z]+$

  • 匹配由26个英文字母的大写组成的字符串 ^[A-Z]+$

  • 匹配由26个英文字母的小写组成的字符串 ^[a-z]+$

  • 匹配由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+$

  • 匹配由数字、26个英文字母或者下划线组成的字符串 ^w+$

  • 只能输入数字:^[0-9]*$

  • 只能输入n位的数字:^d{n}$

  • 只能输入至少n位数字:^d{n,}$

  • 只能输入m-n位的数字:^d{m,n}$

  • 只能输入零和非零开头的数字:^(0|[1-9][0-9]*)$

  • 只能输入有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

  • 只能输入有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

  • 只能输入非零的正整数:^+?[1-9][0-9]*$

  • 只能输入非零的负整数:^-[1-9][0-9]*$

  • 只能输入长度为3的字符:^.{3}$

  • 只能输入由26个英文字母组成的字符串:^[A-Za-z]+$

  • 只能输入由26个大写英文字母组成的字符串:^[A-Z]+$

  • 只能输入由26个小写英文字母组成的字符串:^[a-z]+$

  • 只能输入由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

  • 只能输入由数字、26个英文字母或者下划线组成的字符串:^w+$

  • 验证用户密码:^[a-zA-Z]w{5,17}$正确格式为:以字母开头,长度在6-18之间,

  • 只能包含字符、数字和下划线。

  • 验证是否含有^%&'',;=?"等字符:`[^%&'',;=?x22]+`

  • 只能输入汉字:^[u4e00-u9fa5],{0,}$

  • 验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$

  • 验证InternetURL:^Http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$

  • 验证电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$

以上就是关于“正则表达式基础知识点有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: 正则表达式基础知识点有哪些

本文链接: https://www.lsjlt.com/news/352962.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 正则表达式基础知识点有哪些
    这篇“正则表达式基础知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“正则表达式基础知识点有哪些”文章吧。正则表达式...
    99+
    2023-07-05
  • Python正则表达式基础知识有哪些
    本篇内容主要讲解“Python正则表达式基础知识有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python正则表达式基础知识有哪些”吧!1. 什么是正则表达式正则表达式(Regular E...
    99+
    2023-06-21
  • 正则表达式入门知识点有哪些
    这篇文章主要为大家展示了“正则表达式入门知识点有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“正则表达式入门知识点有哪些”这篇文章吧。1.正则表达式入门之什么是正则表达式基本说来,正则表达式...
    99+
    2023-06-17
  • javascript正则表达式的知识点有哪些
    本篇内容介绍了“javascript正则表达式的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • C#正则表达式的知识点有哪些
    这篇“C#正则表达式的知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#正则表达式的知识点有哪些”文章吧。一、简...
    99+
    2023-06-30
  • java正则表达式的知识点有哪些
    这篇文章主要介绍“java正则表达式的知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java正则表达式的知识点有哪些”文章能帮助大家解决问题。字符x字符 x\\反斜线字符\0n...
    99+
    2023-06-29
  • Python 正则表达式基础知识点及实例
    1. 什么是正则表达式 正则表达式(Regular Expressions),也称为 “regex” 或 “regexp” 是使用单个字符串来描述、匹配一系列匹配某个句法规则的字符...
    99+
    2024-04-02
  • Python中正则表达式的知识点有哪些
    这篇文章主要介绍了Python中正则表达式的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中正则表达式的知识点有哪些文章都会有所收获,下面我们一起来看看吧。1.1正则表达式正则表达式(R...
    99+
    2023-06-30
  • python正则表达式常见的知识点有哪些
    本篇内容主要讲解“python正则表达式常见的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python正则表达式常见的知识点有哪些”吧!一、介绍正则表达式是一个特殊的字符序列,计算...
    99+
    2023-06-30
  • 正则表达式基础命令有哪些
    这期内容当中小编将会给大家带来有关正则表达式基础命令有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。我们在工作中经常会用到正则表达式,下面为大家整理了一下常用的命令。正则字符的简要说明“^” : ^会...
    99+
    2023-06-28
  • JavaScript中正则表达式的相关知识点有哪些
    小编给大家分享一下JavaScript中正则表达式的相关知识点有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScr...
    99+
    2024-04-02
  • python正则表达式相关知识有哪些
    这篇文章主要为大家展示了“python正则表达式相关知识有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python正则表达式相关知识有哪些”这篇文章吧。正则表达式模块Python 有一个名...
    99+
    2023-06-29
  • C#基础知识之字符串和正则表达式
    目录Stringstring 和 stringbuilder字符串格式$前缀StringFormat转义花括号日期时间和数字的格式正则表达式组总结String System.Stri...
    99+
    2024-04-02
  • Python知识点详解之正则表达式语法
    目录Python 正则表达式是什么怎么用正则表达式语法re 库基本用法re.search 函数re.match 函数re.findall 函数re.split 函数re.findit...
    99+
    2024-04-02
  • python正则表达式常见的知识点汇总
    目录一、介绍二、查找方法的使用1、match方法(只匹配字符串开头)2、search方法(扫描整个字符串,找到第一个匹配)3、re.match与re.search的区别4、finda...
    99+
    2024-04-02
  • java正则表达式有哪些
    这篇文章主要为大家展示了“java正则表达式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java正则表达式有哪些”这篇文章吧。 java正则表达式大全...
    99+
    2024-04-02
  • php正则表达式有哪些
    php正则表达式有"/pattern/"、"^"、"$"、"."、"[]"、"[^]"、"[a-z]"、"[A-Z]"、"[0-9]"、"\d"、"\D"、"\w"、"\W"、"\s"、"\S"、"\b"、"*"、"+"、""、"{n}"、...
    99+
    2023-11-17
    php PHP正则表达式
  • Python正则表达式有哪些
    小编给大家分享一下Python正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 前言正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字...
    99+
    2023-06-15
  • js正则表达式和php正则表达式有哪些区别
    这篇文章主要介绍了js正则表达式和php正则表达式有哪些区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js正则表达式和php正则表达式有哪些区别文章都会有所收获,下面我们一起来看看吧。区别:1、PHP正则表...
    99+
    2023-06-29
  • Flex正则表达式规则有哪些
    这篇文章给大家分享的是有关Flex正则表达式规则有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex正则表达式(regularexpression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作