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

[regex]正则表达式

时间:2024-07-12 16:12:46浏览次数:21  
标签:regex 字符 匹配 正则表达式 fat cat 字符串 he

1. 参考及测试文本

The fat cat sat on the mat
The car parked in the garage
A garage is a good place to park a car
good place.
The fat cat sat on the concatenation
The fat cat sat on the mat.
The number was 9.99997 but we round it off to 10.0.
The fat cat sat on the mat.
Hello____hi.
abcffdAshsabc
cbtcbbt.
cbjssjstsadsff
ct

2. 常用运算符阐释

  • .:点运算符,可以匹配任意单个字符,但不包括换行符
.ar
可以匹配任意一个后面跟着ar的字符
  • []:字符集,匹配的内容由中括号中的内容决定
[Tt]he
匹配The和the
t[.] 
方括号中的.就是英文半角的句号,没有特殊含义;但是如果不用[],.就是一个特殊字符,需要靠/转义。
[a-z0-9_-]
匹配小写字母a-z,数字0-9,下划线_
  • [^]:否定字符集
[^c]ar
匹配一个后面是ar的字符,但是这个字符是除了c以外的。
[^a-z0-9_-]
匹配除小写字母a-z,数字0-9,下划线_之外的任意字符,包括换行符
  • *:重复次数,判断*前面的字符或者字符集是否在范围内,不在范围内匹配次数也会加1次。匹配0次或者更多次*前面的字符
[a-z]*
匹配所有前面是小写字母的字符串
\s*cat\s*
匹配空格开头空格结尾中间是cat的字符串,或者中间是cat的字符串
  • +:+前面的字符串至少出现一次会被匹配
c.t
c和t中间跟除了换行符以为的任意字符
c.+t
c和t之间跟一个或者多个字符,至少一个字符,0个不行。
  • :推断匹配字符在或者不在
[T]?he
可以匹配The和he
  • {}:用来限定出现次数,左边右边靠隔开
[0-9]{2,3}
匹配最少2位最多3位0-9之间的数字

-(...):集合

(c|g|p)ar
可以匹配car或gar或par
  • |:或运算符
(T|t)he|car
匹配The或the或car
  • \:转义字符,把{}[]/\+*.$^|?转换成普通字符
(f|c|m)at\.?
匹配fat或者cat或者mat加上句号.或者不加.
  • ^ $:^指定字符串开头,和[^]不一样,$指定字符串结尾
^(T|t)he
匹配和The或者the开头的字符串
  • \w:匹配所有字母

  • \W:匹配所有非字母

  • \d:匹配所有数字

  • \D:匹配所有非数字

  • \s:匹配所有空格

  • \S:匹配所有非空格

  • \n:匹配换行符

  • \r:匹配回车符

  • \t:匹配制表符

  • ?=:表示第一部分表达式后面必须跟?=后面的东西

(T|t)he(?=\sfat)
表示匹配的The或者the后面必须跟空格 fat
  • ?!:表示第一部分表达式后面必须不跟?!后面的东西
(T|t)he(?!\sfat)
表示匹配的The或者the后面必须不跟空格 fat
  • ?<=:相比于?=,这个后面必须跟一个其他的格式
(?<=(T|t)he\s)(fat|mat)
匹配fat或者mat,但是前面必须跟The 空格 或者 the 空格
  • ?<!:相比于?!,这个后面必须跟一个其他的格式
(?<!(T|t)he\s)(cat)
匹配cat,但是前面必须不跟The 空格 或者 the 空格
  • i:忽略大小写。
/The/gi
g表示全局搜索,全局搜索The,并且忽略大小写,所以The和the都可以。
  • 贪婪匹配和惰性匹配
/(.*at)/
正则表达式默认会去搜索 任意字符+at的字符串,并且匹配尽可能长的子串(字符串匹配直到遇到空格符或者换行符等),这就是贪婪匹配模式
/(.*?at)/
转换成惰性匹配模式,字符串到at就结束了。

标签:regex,字符,匹配,正则表达式,fat,cat,字符串,he
From: https://www.cnblogs.com/xiacuncun/p/18298586

相关文章

  • 正则表达式
    正则表达式RegularExpress【1】、三剑客与正则表达式1、注意事项正则符号都是英文符号,避免使用中文符号推荐使用grep/egrep命令,默认设置了别名alias,自动加上颜色【2】、符号概述正则:regularexpression(RE)正则表达式regularexpression符号基础正则BRE^......
  • Spark SQL中的正则表达式应用
    正则表达式是一种强大的文本处理工具,在SparkSQL中也得到了广泛支持。本文将介绍SparkSQL中使用正则表达式的主要方法和常见场景。目录1.正则表达式函数1.1regexp_extract1.2regexp_replace1.3regexp_like2.在WHERE子句中使用正则表达式3.在GROUPBY中使用正......
  • 精通Postman响应解析:正则表达式的实战应用
    ......
  • 正则表达式详解
    1.正则表达式的作用(1)文本搜索和匹配:可以用来搜索、匹配和替换特定模式的文本。          比如,查找所有符合特定格式的邮箱地址、电话号码等。(2)数据验证:可以用来验证用户输入是否符合特定的格式要求。     比如,验证电子邮件地址、密码复杂度等。(3)数据......
  • 正则表达式
    声明:此随笔内容转载自廖雪峰官方网站,仅供自我学习,无任何商业目的,如侵权,请告知。字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻......
  • 正则表达式
    通用正则表达式:正则表达式:可以用在限制用户输入的范围、长度,也可以在搜寻时给定一个指定的范围和长度。您正在编写应用程序,并且您希望在用户选择用户名时设置规则。我们希望用户名可以包含字母,数字,下划线和连字符。为了让它看起来不丑,我们还想限制用户名中的字符数量。应用......
  • 生信算法9 - 正则表达式匹配氨基酸序列、核型和字符串
    建议在Jupyter实践。1.使用正则表达式匹配指定的氨基酸序列importre#氨基酸序列seq='VSVLTMFRYAGWLDRLYMLVGTQLAAIIHGVALPLMMLI'#正则表达式匹配match=re.search(r'[A|G]W',seq)#打印match及匹配到开始位置和结束位置print(match)#<re.Matchobject;......
  • 常用正则表达式
    字符\:特殊字符、转义字符^:正则表达式的开始$:正则表达式的结束*:等于{0,},即0到多+:等于{1,},即1到多?:等于{0,1},即0到1{n}:匹配确定的次数,n次{n,}:匹配大于n的次数,等于n*{n,m}:匹配大于n,小于m的次数.:匹配除“\n”之外的任何单个字符。\d:匹......
  • 正则表达式
    正则模式^表达式$^从整个字符串开头的地方匹配$从整个字符串的结尾开始匹配模糊匹配.匹配任意字符,除了换行符*重复匹配*号前面0个或多个的表达式。?重复匹配?号前面0个或1个由前面的正则表达式定义的片段,非贪婪方式(?写在数量词的之后)+重复匹配+号前面1个或多......
  • 常用正则表达式
    一、校验数字的表达式 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})?$ 7带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,......