当前位置: 首页 >  软件学堂 >  正则表达式

正则表达式

导读:正则表达式语法./匹配主体/[修饰符].常见修饰符有以下几种.g:全局匹配,一般正则表达式遇到了第一个匹配的就会结束,例如/aaa/,这里匹配到第一个a就结束停止匹配,而加了g修饰之后会一直匹配到字符串末尾.i:正则表达式默认区分大小写,加了i修饰时则忽略大小写,此时A和a一样.

正则表达式语法

/匹配主体/[修饰符]

常见修饰符有以下几种

g:全局匹配,一般正则表达式遇到了第一个匹配的就会结束,例如/aaa/,这里匹配到第一个a就结束停止匹配,而加了g修饰之后会一直匹配到字符串末尾

i:正则表达式默认区分大小写,加了i修饰时则忽略大小写,此时A和a一样

m:可以使 ^ 和 $ 匹配一段文本中每行的开始和结束位置,即不把多行看成同一个字符串,对于每个单独的一行作为匹配对象

s:正常情况下 . 符表示匹配除\n以外的所有字符,加上s修饰后则包含了\n

对于不同的修饰符可以叠加使用例如/abc/gi

常见转义字符

字符集合[]

[abc]表示匹配a,b,c中的任何一个即可,即和该集合交集不为空

[0-9]=[0123456789]

[^abc]表示对于a,b,c都不匹配,即和该集合无交集

  • . 匹配除了换行符(\n)以外的任意一个字符 = [^\n]
  • \w = [0-9a-Z_]
  • \W = [^0-9a-Z_]
  • \s = [ \t\n\v]
  • \S = [^ \t\n\v]
  • \d = [0-9]
  • \D = [^0-9]

量词

量词一般跟在某个字符后面,表示对于该个字符进行多次匹配

{n} 匹配n次,例如A{2}=AA

{m,n} 匹配m到n次=[m,n],优先匹配n次,即可以匹配m,m+1….,n

{m,} 匹配大于等于m次,优先匹配出现的最大的次数

?={0,1} 匹配0或1次

+={1,} 匹配大于等于1次

  • ={0,} 匹配大于等于0次

正则表达式匹配一般位贪婪模式优先匹配多的次数,在{}后面加?开启非贪婪模式

a{1,3}?优先匹配a

字符边界

^ ,开头匹配符,放在模板串开头,表示匹配以模板串为开头的字符串,例如^abc匹配以abc为开头的字符串

\( ,结尾匹配符,放在模板串结尾,表示匹配以模板串为结尾的字符串,abc\)

\b单词边界,放在模板穿末尾,表示匹配边界为模板从字符串,即开头和结尾都要匹配的字符串,abc\b=^abc$,可以匹配abchhabc,但是不能匹配abchh和hhabc

选择表达式

通过分组来匹配多个字符串,用 | 将字符串分割开,前面字符集是匹配多个字符

abc|ig|op 表示匹配abc或ig或op

分组

(字符串),表示为一组,我们之前对于单个字符串的操作叶使用于字符组,[]除外

例如

(ab){3}表示ababab

(ab|cd){2}表示abcd,abab,cdcd,cdab

分组默认为捕获组

普通捕获组(pattren),命名捕获组(?pattern)或(?‘name’pattern),非捕获组: ?: 、?= 或 ?! 重写捕获组,一般以?开头的普通捕获组为非捕获组

相比于捕获组,非捕获组不捕获文本,无分组编号,不可被反向引用

引用语法为\数字,表示引用前面第几个分组,后面匹配将和前面保持一致

预搜索

正声明 “(?=…)”:是指匹配项后面字符匹配了指定字符后才会匹配

负声明 “(?!…)” :是匹配项后面字符不匹配指定字符才会匹配

(?=a)b 只能匹配ab

(?!a)b 只能匹配bb

内容
  • 揭秘Spring依赖注入和SpEL表达式
    揭秘Spring依赖注入和SpE
    2023-12-10
    摘要:.在本文中,我们深入探讨了Spring框架中的属性注入技术,包括setter注入、构造器注入、注解式属性注入,以及
  • 【工程应用八】终极的基于形状匹配方案解决(小模型+预生成模型+无效边缘去除+多尺度+各项异性+最小组件尺寸)
    【工程应用八】终极的基于形状匹配
    2023-12-02
    我估摸着这个应该是关于形状匹配或者模版匹配的最后一篇文章了,其实大概是2个多月前这些东西都已经弄完了,只是一直静不下来心
  • 浅谈OpenCV的多对象匹配图像的实现,以及如何匹配半透明控件,不规则图像
    浅谈OpenCV的多对象匹配图像
    2023-12-02
    浅谈OpenCV的多对象匹配透明图像的实现,以及如何匹配半透明控件.引子.1..OpenCV提供的templateMat
  • 可爱儿童内衣套装,优质棉质,柔软透气,呵护宝宝肌肤
    可爱儿童内衣套装,优质棉质,柔软
    2024-01-05
    可爱儿童内衣套装,优质棉质,柔软透气,呵护宝宝肌肤.宝宝的皮肤是非常娇嫩的,所以选择合适的内衣套装对于宝宝的健康和舒适至
  • 时尚潮流运动鞋
    时尚潮流运动鞋
    2024-01-15
    时尚潮流运动鞋.时尚潮流运动鞋一直是年轻人喜爱的时尚单品,它不仅舒适耐穿,更是一种个性的象征。随着时尚潮流不断更新,运动
  • 修身弹力牛仔裤
    修身弹力牛仔裤
    2023-12-26
    修身弹力牛仔裤:展现你的魅力.一、时尚的必备单品.修身弹力牛仔裤一直都是时尚界的必备单品,它不仅可以展现出个人的魅力,还
  • 休闲简约短袖衬衫
    休闲简约短袖衬衫
    2023-12-21
    休闲简约短袖衬衫.现代人生活节奏快,休闲简约的穿着成为时尚潮流。短袖衬衫作为经典的休闲单品,一直备受时尚人士的青睐。它舒
  • 休闲宽松T恤衫,释放自在舒适气息
    休闲宽松T恤衫,释放自在舒适气息
    2023-12-26
    休闲宽松T恤衫,释放自在舒适气息.在这个喧嚣的都市中,人们的生活节奏变得越来越快,压力也越来越大。因此,人们更加注重舒适
  • 潮流风衣大衣,彰显都市时尚风采
    潮流风衣大衣,彰显都市时尚风采
    2023-12-16
    潮流风衣大衣,彰显都市时尚风采.潮流风衣大衣一直是时尚界备受追捧的单品之一。它既能为我们遮风挡雨,又能为我们穿出时尚感,
  • 时尚修身连衣裙,展现优雅女性魅力
    时尚修身连衣裙,展现优雅女性魅力
    2023-12-06
    时尚修身连衣裙,展现优雅女性魅力.时尚修身连衣裙一直是女性衣橱里的必备单品,不仅款式多样,而且能够展现出女性的优雅魅力。
  • 保暖舒适羊毛大衣
    保暖舒适羊毛大衣
    2024-01-05
    保暖舒适羊毛大衣.冬季来临,寒冷的天气让人们更加注重保暖。在这个时候,一件保暖舒适的羊毛大衣成为了许多人的首选。羊毛大衣
  • 萌娃配饰套装,包包、帽子、围巾等,增添宝宝的时尚气息
    萌娃配饰套装,包包、帽子、围巾等
    2024-01-20
    萌娃配饰套装,为宝宝增添时尚气息.宝宝是家庭的小太阳,****们都希望给他们最好的一切。随着时尚的发展,宝宝的时尚潮流也
  • 轻盈雪纺衬衫,打造清新淑女形象
    轻盈雪纺衬衫,打造清新淑女形象
    2023-12-31
    轻盈雪纺衬衫,打造清新淑女形象.雪纺材质的衬衫一直以来都是清新淑女形象的代表,它轻盈飘逸的质地,柔软透气的触感,让人仿佛