Perl正则表达式总结_3
2016-03-14 15:43
211 查看
#匹配任意字符,字符.匹配除换行外的多个字符,通常与*合用
#匹配指定数目的字符,字符对{}指定所匹配字符的出现次数。如/de{1,3}f/匹配def #deef deeef;/de{3}f/匹配deeef;/de{3,}f/匹配不少于3个e在d和f之间;/de{0,3}f/匹配不多于3个e在d和f之间。
#指定选项,字符“|”指定两个或多个选择来匹配模式。如/def|ghi/匹配def或ghi
#例:检验数字表示合法性
$number=OX1234343f;
if($number=~/^-?\d+$|^-?O[xX][\da-fA-F]+$/){
print("$number is a legal integer.\n");
}else{
print("$number is not a legal integer.\n");
}
print("\n**********************************************************\n");
#模式的部分重用,当模式中匹配相同的部分出现多次时,可用括号括起来,用\n来多次引用,以简化表达式:
#/\d{2}([\W])\d{2}\1\d{2}/匹配12-05-92 ,26.11.87, 07 04 93
#注意:不同于/(\d{2})([\W])\1\2\1/ ,这个只匹配17-17-17,而不匹配17-05-91
#转义和特定字符的执行次序,特殊字符描述
#()模式内存
#+ * ? {} 出现次数
#^ $ \b \B 锚
#| 选项
#指定模式定界符
#缺省的模式定界符为反斜线/,但其可用字母m自行指定,如:m!/u/jqpublic/perl/prog1!
#其等价于/\/u\/jqpublic\/perl\/prog1/
#m指定!!为模式匹配符,此时不做变量替换;当用特殊字符作为定界符时,其转义功能或特殊功能即不能使用。
#模式次序变量
#在模式匹配后调用重用部分的结果可用变量$n,全部的结果用变量$&
$string="this string contains the number 225.11.";
$string=~/-?(\d+)\.?(\d+)/;
$integerpart=$1;
$decimalpart=$2;
$totalpart=$&;
print("$integerpart\n$decimalpart\n$totalpart");
print("\n**********************************************************\n");
#匹配指定数目的字符,字符对{}指定所匹配字符的出现次数。如/de{1,3}f/匹配def #deef deeef;/de{3}f/匹配deeef;/de{3,}f/匹配不少于3个e在d和f之间;/de{0,3}f/匹配不多于3个e在d和f之间。
#指定选项,字符“|”指定两个或多个选择来匹配模式。如/def|ghi/匹配def或ghi
#例:检验数字表示合法性
$number=OX1234343f;
if($number=~/^-?\d+$|^-?O[xX][\da-fA-F]+$/){
print("$number is a legal integer.\n");
}else{
print("$number is not a legal integer.\n");
}
print("\n**********************************************************\n");
#模式的部分重用,当模式中匹配相同的部分出现多次时,可用括号括起来,用\n来多次引用,以简化表达式:
#/\d{2}([\W])\d{2}\1\d{2}/匹配12-05-92 ,26.11.87, 07 04 93
#注意:不同于/(\d{2})([\W])\1\2\1/ ,这个只匹配17-17-17,而不匹配17-05-91
#转义和特定字符的执行次序,特殊字符描述
#()模式内存
#+ * ? {} 出现次数
#^ $ \b \B 锚
#| 选项
#指定模式定界符
#缺省的模式定界符为反斜线/,但其可用字母m自行指定,如:m!/u/jqpublic/perl/prog1!
#其等价于/\/u\/jqpublic\/perl\/prog1/
#m指定!!为模式匹配符,此时不做变量替换;当用特殊字符作为定界符时,其转义功能或特殊功能即不能使用。
#模式次序变量
#在模式匹配后调用重用部分的结果可用变量$n,全部的结果用变量$&
$string="this string contains the number 225.11.";
$string=~/-?(\d+)\.?(\d+)/;
$integerpart=$1;
$decimalpart=$2;
$totalpart=$&;
print("$integerpart\n$decimalpart\n$totalpart");
print("\n**********************************************************\n");
相关文章推荐
- Android开发&HTML5+App
- css3中-moz、-ms、-webkit分别代表的意思
- 关于 overridePendingTransition()使用
- Java编程思想(一):大杂烩
- 配置ssh的双机信任
- 侯捷《深入浅出MFC》中“Hello, MFC”如何改写到VS2012中
- 线程的睡眠与唤醒
- Exchange 2016 混合部署后的测试工作
- 使用UEditor在门户中添加公告
- I2C Tools 学习笔记
- 在Mac中配置Android的环境变量
- 永不执行的代码warning处理
- Android Studio使用butterknife注解框架插件Android Butterknife Zelezny
- Ideas and feature requests: Hot (211 ideas) – GenMyModel Support
- bash之花括号展开(brace expansion)
- 安装操作系统
- 平台功能导航配置
- java中的对象访问原理及图解
- 连接FTP服务器的530 User cannot log in.问题
- 简谈前端后端