博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
条件判断
阅读量:4049 次
发布时间:2019-05-25

本文共 748 字,大约阅读时间需要 2 分钟。

-- Start

正则表达式还支持简单的条件判断结构,格式如下:

(?if then |else)

其中的 if 部分是特殊的表达式,而 then 和 else 部分是普通的正则表达式,else 部分是可选的。

1. if  部分可以测试捕获,下面是一个简单的例子。

#!/usr/bin/perlmy $testText = "#test#";if($testText =~ m/(#)?\w+(?(1)#|%)/) {	print "匹配成功 #test# \n";}$testText = "#test";if($testText =~ m/(#)?\w+(?(1)#|%)/) {	print "匹配成功 #test\n";} else {	print "匹配失败 #test\n";}
结果如下:

匹配成功 #test#匹配失败 #test
我们来看看其中的条件判断结构 (
?(1)
#|
%) ,其中红色部分是 if 部分,绿色部分是 then 部分, 蓝色部分是 else 部分。
?(1) 用来测试 (#)? 是否匹配了 # 号。

2. if 部分可以是环视结构,下面是一个简单的例子。

#!/usr/bin/perlmy $testText = "num 8 is my favorite number";if($testText =~ m/(?(?<=num )\d|\w+)/) {	print "匹配成功\n";}
上面正则表达式的意思是,如果你是\d,那么它前面必须是num 。

--更多参见:
-- 声 明:转载请注明出处
-- Last Updated on 2012-05-13
-- Written by ShangBo on 2012-05-12
-- End
你可能感兴趣的文章
CocoaPods实践之制作篇
查看>>
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>
iphone开发基础之objective-c学习
查看>>
iphone开发之SDK研究(待续)
查看>>
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM最简生存指南
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>