tr/ / / 替换操作符不支持正则表达式 也不具备双引号替换能力
m/ /  s/ / / 都支持正则表达式,并且可以提供或限制双引号替换能力

$string = "25abc8";
$string =~ /abc(?=[0-9])/;
(?=pattern) 前看声明,如果正则表达式在下一次匹配 pattern 风格,就开始匹配,而且不影响匹配效果.如/\w+(?=\t)/将匹配制表符是否恰好在一个字\w+后面出现,并且制表符不添加到$&的值中;
$matched = $&; # $&为已匹配的模式,此处为abc,而不是abc8
$n=$pom=~m/fish/;(这里的$n是对“$pom=~/fish/"的判断,如有fish就回1,没有就回空)
在内部,m//g会保存一个“匹配位置”的变量,表示这次的m//g匹配到了什么位置,以便下次运行时从该处继续开始。(这个位置可以通过pos函数获得,这里就不多说了。)

$_ = "abc";
print "a" if /a/g;
print "b" if /b/g;
# 输出结果:ab
结果是正确的。如果将语句换个位置呢?
$_ = "abc";
print "b" if /b/g;
print "a" if /a/g;
# 输出结果:b
可见,第二次的模式 a 没有匹配。其实可以想到,第一次的m/b/g匹配后,匹配位置已经指向了字符串中的下一个位置c,第二行的m/a/g继续从c开始匹配,当然不会匹配到任何东西。

while("balata"=~/.a/g){
$match=$&;
print("$match\n");
}
结果为:
ba
la
ta
当使用了选项g时,可用函数pos来控制下次匹配的偏移:
$offset=pos($string);
pos($string)=$newoffset;

/pattern/ 结果

. 匹配除换行符以外的所有字符

x? 匹配 0 次或一次 x 字符串

x* 匹配 0 次或多次 x 字符串,但匹配可能的最少次数

x+ 匹配 1 次或多次 x 字符串,但匹配可能的最少次数

.* 匹配 0 次或一次的任何字符

.+ 匹配 1 次或多次的任何字符

{m} 匹配刚好是 m 个 的指定字符串

{m,n} 匹配在 m个 以上 n个 以下 的指定字符串

{m,} 匹配 m个 以上 的指定字符串

[] 匹配符合 [] 内的字符

[^] 匹配不符合 [] 内的字符

[0-9] 匹配所有数字字符

[a-z] 匹配所有小写字母字符

[^0-9] 匹配所有非数字字符

[^a-z] 匹配所有非小写字母字符

^ 匹配字符开头的字符

$ 匹配字符结尾的字符

\d 匹配一个数字的字符,和 [0-9] 语法一样

\d+ 匹配多个数字字符串,和 [0-9]+ 语法一样

\D 非数字,其他同 \d

\D+ 非数字,其他同 \d+

\w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样

\w+ 和 [a-zA-Z0-9]+ 语法一样

\W 非英文字母或数字的字符串,和 [^a-zA-Z0-9] 语法一样

\W+ 和 [^a-zA-Z0-9]+ 语法一样

\s 空格,和 [\n\t\r\f] 语法一样

\s+ 和 [\n\t\r\f]+ 一样

\S 非空格,和 [^\n\t\r\f] 语法一样

\S+ 和 [^\n\t\r\f]+ 语法一样

\b 匹配以英文字母,数字为边界的字符串

\B 匹配不以英文字母,数值为边界的字符串

a|b|c 匹配符合a字符 或是b字符 或是c字符 的字符串

Perl 常用正则匹配相关推荐

  1. 14. Perl 正则表达式-正则匹配

    正则表达式(regular expression) 在Perl 里面通常也叫模式(Pattern). 正则表达式是用来匹配或不匹配某个字符串是否符合特定字符串模板的,也可以实现字符串的替换. 1. 正 ...

  2. perl中正则匹配中文字符

    写下这个题目,首先要区分的是,不是在perl的正则中找到中文,那样只要根据字符集的范围就可以找到,而是要找到给定中文字符串中是否包括指定的字词,比如,当下的某个系统中需要过滤 不厚先生的 名字. 通常 ...

  3. 【perl】正则匹配中的括号套括号的套娃抓取规则

    前言 从上周开始,我忽然有一个疑问,当我在进行正则匹配时,用括号可以抓取匹配上的内容,多个括号可以对应到$1.$2.$3等: 那么问题来了,如果括号进行套娃的话,应该如何用$1.$2.$3捕获呢? 是 ...

  4. 常用正则匹配及字符范围

    编程中有时候需要用到匹配中文的正则,一般用 [ \u4e00-\u9fa5]+ 即可搞定.不过这正则对一般的火星文鸟语就不太适用了,甚至全角的标点符号都不包含在内.例如游戏里面的玩家名,普通青年一般都 ...

  5. VSCode中常用正则匹配

    日常开发中,经常会遇到需要注释先前遗留的大量console相关的输出日志代码,在vscode中可以使用当前页搜索(CTRL + F)或全局搜索的方式来批量注释或删除. 当前页  全局 1.注释当前页所 ...

  6. Python正则表达式(正则、regular、re)讲解,及常用正则:匹配邮箱、身份证、手机号、IP地址、URL、HTML等

    正则表达式(正则.regular.re)是 Python 中最常见的编程技巧,很多时候,一个好的正则表达式可以抵上几十行代码.比如:匹配(校验)邮箱.身份证.手机号.IP地址.URL.HTML等. 正 ...

  7. 正则匹配常用匹配公式,运用举例,不用学习复杂的匹配规则,拿来就能用

    正则匹配千千万,常用匹配占一半.这里本实习生将常用的正则匹配整理如下,不用学习复杂的匹配规则,拿来就能用的正则匹配,才是好的正则匹配! 限定符:(匹配出现的次数) * >=0次 + >0次 ...

  8. php 密码校验正则,PHP常用密码正则匹配验证

    PHP常用密码正则匹配验证 第一种: //昵称2-10位字符,需由中文.数字.字母(区分大小写)和下划线组合 $a = '的方'; $b = preg_match( "/^[\x{4e00} ...

  9. 常用JS正则匹配函数

    //校验用户名:只能输入1-30个字母 function isTrueName(s) { var patrn=/^[a-zA-Z]{1,30}$/; if (!patrn.exec(s)) retur ...

  10. mysql 正则匹配 捕获组_常用正则表达式 捕获组(分组)

    1.img标签 //,空格后src以'或"开始..... Regex reg = new Regex("]*\\ssrc=(['\"]+[^<>'\" ...

最新文章

  1. Python 核心设计理念27个问题及解答
  2. discuz 删除系统自带的附件上传
  3. 面试官:了解雪崩效应吗?了解Hystrix吗?怎么解决雪崩效应吗?(大型社死现场,教你运筹帷幄之中)
  4. 编码引出的问题_FileReader读取GBK格式的文件
  5. java web ee_Java EE 6 Web配置文件。 在云上。 简单。
  6. 根据网页地址获取页面内容
  7. Spark之scala学习(基础篇)待更新
  8. FPGA与DSP区别
  9. background:url(./images.png) no-repeat 0 center的用法
  10. c#解析XML到DATASET及dataset转为xml文件函数
  11. Photoshop 2020 for Mac(PS 2020)中英双版
  12. 文本、词相似度论文阅读笔记
  13. Qt学习之路之解决unable to find a qt build,to solve this problem specify a qt build
  14. 职称计算机 frontpage 2003,计算机职称考试FrontPage2003考试大纲
  15. tcl语言读取文件一行_TCL语言(九) 路径和文件
  16. 大文件编辑查看工具推荐:ultraedit、logviewer。文件太大notepad++等编辑工具无法打开解决办法
  17. 烤仔观察丨和你息息相关!DCEP 能否领跑?各国数字货币都在搞什么?
  18. AWS宣布计划在加拿大开设第二个区域
  19. mysql分级建表_Mysql如何使用命令实现分级查找帮助详解
  20. 如何将数据存入mysql_怎样将数据存入mysql数据库

热门文章

  1. python 隐藏其他窗口_python控制窗口显示隐藏
  2. python常数_SciPy所有常数解释
  3. 学计算机物理去戴维斯还是伦斯勒理工学院好,美国大学本科专业排名:应用物理...
  4. 【安价】亚拉奈夫想要复兴贫弱男爵家的样子【内政】1
  5. 《Git与Github使用笔记》第12章 Pull Request的使用
  6. 网吧服务器安装操作系统,网吧无盘技术的安装与使用---服务器的操作系统为为wind...
  7. 【论文写作】——设置中英文字体
  8. UEditor之——图片上传组件大小4M的限制
  9. 自监督学习(四)Joint Unsupervised Learning of Deep Representations and Image Clusters
  10. CSDN 博客更换皮肤