perl 正则命名捕获】的更多相关文章

#!/usr/bin/perl -w =pod 命名捕获--给匹配上的内容加上标签 捕获到的内容都会保存在%+散列中,这个散列的key为对应的标签: 方便之处就是利于程序扩展和阅读,不用繁琐的一个一个去数括号来获取匹配变量 =cut zjtest7-frontend:/root/perl# cat a2.pl use strict; my $str = "jack and rose"; if ($str =~ /(?<first>\S+) (and|or) (?<se…
假设你在一段陌生的代码中看到这样一个函数: function toLocalDate(date) { return date.replace(/(\d{2})-(\d{2})-(\d{4})/, "$2-$1-$3") } 单看这个函数你能知道它是想把“日-月-年”替换成“月-日-年”,还是反过来?匿名捕获分组没法做到这一点,那就该命名捕获分组上场了: function toLocalDate(date){ return date.replace(/(?<month>\d{…
转载自:http://www.xuebuyuan.com/806332.html:个人进行了一些修正和添加. 下面我们对 VIM 正则表达式进行介绍并会显示指出其与 Perl 正则的不同之处. 字符集 . 匹配任意一个字符 \w 匹配单词字母,等同于[0-9A-Za-z_]. \W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]. \t 匹配字符. \a 所有的字母字符. 等同于[a-zA-Z] \e \t \r \b \d 数字 [0-9] \D 非数字 [^0-9] \x 十六…
Django---路由系统,URLconf的配置,正则表达式的说明(位置参数),分组命名(捕获关键字参数),传递额外的参数给视图,命名url和url的反向解析,url名称空间 一丶URLconf配置       URL配置是支撑网站的目录,本质是URL与该URL调用的视图函数之间的映射表 urlconf的格式 from django.conf.urls import url urlpatterns = [ # url() 是包含 请求的url和视图的对应关系的函数 # def url(regex…
(一)零宽断言 说明:本文的例子使用python描述      首先说明一下什么是零宽断言,所谓零宽断言就是并不去真正的匹配字符串文本,而仅仅是匹配对应的位置.      正则表达式中有很多这样的断言,常见的如匹配字符串或者行的起始位置 ^ 和 /A,匹配字符串或者行的末尾 $ 和 /Z,单词边界/B等等.这些简单的就不说了,今天主要说一下界定的使用方法(有些资料叫环式结构,名字而已,不重要).界定也是一种零宽断言,界定主要有四类:      1.前向界定(肯定顺序环视)(?=exp)     …
下载的zip包解压后,中文都变成了乱码,就写了个脚本重命名文件. use strict; use warnings; use Cwd; sub main { my $dir = getcwd(); opendir my $DH, $dir or die "Can not open directory: $dir"; while (my $file = readdir $DH) { })_.*\.mp3$/) { rename $file, "$1.mp3"; } }…
分组语法 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp) (?:exp) 匹配exp,不捕获匹配的文本 位置指定 (?=exp) 匹配exp前面的位置 (?<=exp) 匹配exp后面的位置 (?!exp) 匹配后面跟的不是exp的位置 (?<!exp) 匹配前面不是exp的位置 注释 (?#comment) 这种类型的组不对正则表达式的处理产生任何影响,只是为了提…
0.正则匹配字典:http://www.cnblogs.com/itech/archive/2010/03/19/1689793.html 1.$/=">";重新定义字符串分隔符为“>”. 2.perl 中/ms,/msg,/gms是什么意思? 正则表达式中,//msg和//gms意思一样. //g表示找出字符串中所有匹配的部分,如$x= "cat dog house"; @words = ($x =~ /(\w+)/g);  #结果 $word[0]…
表达式 语法 说明 任一字符 . 匹配除换行符外的任何一个字符. 最多 0 项或更多 * 匹配前面表达式的 0 个或更多搜索项. 最多一项或更多 + 匹配前面表达式的至少一个搜索项. 最少 0 项或更多 @ 匹配前面表达式的 0 个或更多搜索项,匹配尽可能少的字符. 最少一项或更多 # 匹配前面表达式的一个或更多搜索项,匹配尽可能少的字符. 重复 n 次 ^n 匹配前面表达式的 n 个搜索项.例如,de>[0-9]^4de> 匹配任意 4 位数字的序列. 字符集 [] 匹配 [] 内的任何一个…
Vsftp:/root# cat k1.pl my $_='upDaTe'; if( $_ =~ /^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i){print "1111111111111\n";}; Vsftp:/root# perl k1.pl 1111111111111…