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

正则表达式

时间:2023-12-01 10:11:27浏览次数:25  
标签:字符 匹配 断言 任何 正则表达式 捕获 制表符

  • 字符类

    字符 含义
    [xyz][a-c] 一个字符类,匹配包含在方括号中的任何字符.可以使用连字符(-)指定字符范围, 但如果连字符出现在方括号中的第一个或最后一个字符,则视为普通字符
    [^xyz][^a-c] 否定或补充字符类,匹配不包含在方括号中的任意字符.连字符作用同上
    . 匹配除行终止符之外的任何单个字符
    \d 匹配任何数字. \d = [0-9]
    \D 匹配任何非数字的字符. \D = [^0-9]
    \w 匹配任何基本拉丁字母中的字母数字下划线. \w = [A-Za-z0-9_]
    \W 匹配任何不是来自基本拉丁字母的单次字符. \W = [^A-Za-z0-9_]
    \s 匹配单个空白字符. 包括空格, 制表符,换页符等
    \S 匹配除空格以外的单个字符
    \t 匹配水平制表符
    \r 匹配回车符
    \n 匹配换行符
    \v 匹配垂直制表符
    \f 匹配换页符
    x|y 匹配 x 或 y
  • 量词

    字符 含义
    * 匹配 0 次或多次
    + 匹配 1 次或多次, =
    ? 匹配 0 次或 1 次, 如果在任何量词 *, + ? {} 之后使用,则使量词是非贪婪(匹配最小次数), 而不是默认的贪婪模式(匹配最大次数)
    {n} n 为正整数, 匹配 n 次
    {n,} 至少匹配 n 次
    {n,m} m > n, 最少匹配 n 次, 最多匹配 m 次
  • 组和范围

    字符集 含义
    (x) 捕获组: 匹配 x 并记住匹配项.捕获组会带来性能损失, String.match() 不会返回捕获组, String.matchAll() 获取所有匹配项
    (?x) 具名捕获组: 匹配 x 并将其存储在返回的匹配项的 groups 属性中. "web-doc".match(/-(?<customName>\w)/).groups => {customName: "d"}
    (?:x) 非捕获组: 匹配 x, 但不记得匹配.
  • 断言

    字符 含义
    ^ 匹配输入的开头./^A/ 匹配不了 "an A" 中的 "A", 但是可以匹配 "An A" 中开头的 "A"
    $ 匹配输入的结束
    \b 匹配单词边界. /\bm/ 可以匹配 "moon" 中的 "m", 匹配不了 "noom" 中的 "m"
    \B 匹配非单词边界
    x(?=y) 先行断言: x 被 y 跟随时匹配 x, 匹配结果中不包含 y. /x(?=y|z)/: x 后跟有 y 或 z 的情况下才会得到匹配, 不过, 匹配结果中不包含 y 或 z
    x(?!y) 先行否定断言: x 没有被 y紧跟随时匹配 x
    (?<=y)x 后行断言: x 跟随 y的情况下匹配
    (?<!y)x 后行否定断言: x 不跟随 y 时匹配 x

标签:字符,匹配,断言,任何,正则表达式,捕获,制表符
From: https://www.cnblogs.com/qilin20/p/17869116.html

相关文章

  • 正则表达式的几个函数,sub、match、search、findall、split的几个函数的使用
    importrepattern='\d\.\d+'s='Istudy3.114pythoneveryand2.71pythonIloveyou's2='pythonIloveyou'match=re.findall(pattern,s)#findall函数获取匹配对象中所有的匹配值,获得一个列表类型。match2=re.findall(pattern,s2)print(match)#输出结果:[&......
  • 正则表达式
    一,正则表达式特点,贪婪匹配,它会在允许的范围内取最长的结果。在应用方面只和字符串打交道。具体应用途径:1.把一个文件中所有的手机号码都找出来,需要从大段的文字中找到符合规则的内容#open打开文件#读文件str#从一长串的字符串中找到所有的11位数字......
  • 正则表达式match函数的使用
    #正则表达式的作用,例如:判断登录名是否几位数,是都由数字字母组成等等#元字符:具有特殊意义的专用字符,例如:‘^'和'$',分别表示匹配开始和结束。#限定符:用于限定匹配的次数#其他符#re模块在Python中使用正则表达式操作#re函数的几种格式#re.match(pattern,string,flags=0):用于......
  • python正则表达式
    一、问题:对返回的非json结果如何拿到里面想要的那部分内容 二、回答可以通过正则表达式获取:findall.*匹配0~n个内容.+起码匹配1个()分组如对xml结果的数据进行处理,代码如下所示:1deftestPostXml():2'''3xml数据4:return:5'''......
  • 正则表达式与文本三剑客——grep awk sed
    正则表达式shell:/bin/bash正则表达式:匹配的是文章中的字符通配符:匹配的是文件名?任意单个字符元字符:不表示本来的含义,在正则表达式中有特殊含义的字符正则表达式元字符的使用:自己写很容易,读取别人的很困难正则表达式想用好:记忆元字符的含义多用正则表达式分为:......
  • python re 正则表达式 match search . *
    在Python的re库中,re.match()和re.search()都是用来查找字符串中是否包含符合正则表达式的部分。但是,它们的工作方式有一些重要的区别:re.match()函数只检查字符串的开始部分是否符合正则表达式。如果字符串的开始部分符合正则表达式,re.match()函数就会返回一个匹配对象;否则,它会返回N......
  • 正则表达式RE
    1.正则表达式(regularexpression,RE)是一种字符模式,用于在查找过程中匹配指定的字符。2.在大多数程序里,正则表达式都被置于两个正斜杠之间;例如/l[oO]ve/就是由正斜杠界定的正则表达式,它将匹配被查找的行中任何位置出现的相同模式。在正则表达式中,#元字符是最重要的概念。#正则......
  • python 正则表达式
    一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、......
  • 如何写出高效率的正则表达式
    如果纯粹是为了挑战自己的正则水平,用来实现一些特效(例如使用正则表达式计算质数、解线性方程),效率不是问题;如果所写的正则表达式只是为了满足一两次、几十次的运行,优化与否区别也不太大。但是,如果所写的正则表达式会百万次、千万次地运行,效率就是很大的问题了。我这里总结了几条提升......
  • 常用正则表达式
    正文:MDN正则参考文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions我的正则笔记:https://www.yuque.com/docs/share/36f69420-115f-4e01-b897-550d94b404ab?#《正则》千分位表示价格1.针对正数、负数,整数,浮点数都可以(IE不支持,会出现错......