perl:正则表达式部分
使用简单模式匹配 若模式匹配的对象是$_的内容,只要把模式写在一对(/)中就可以了。
unicode属性 若要匹配某项属性,只需要把属性名放入p{PROPERTY}里面。比如有许多字符属于空白符,相应的属性名为Space,要匹配这类的字符可以
若要匹配数字,可以用Digit属性
把小写的p改成大写P,就表示否定意义,匹配指定属性意外的字符。 元字符 点号(.)是能匹配任意一个字符的通配符,换行符不能匹配。如果希望点号仅匹配他本身,则在他前面加上反斜线。即任何元字符前面加上反斜线,就会使它失去元字符的特殊作用。反斜线是我们的第二个元字符,要匹配真正的反斜线,请用两个反斜线表示。
简单的量词 星号(*)用来匹配前面的条目出现零次或多次的情况。点号星号(.*)组合起来可以匹配任意字符零到无限次。加号(+)会匹配前一个条目一次以上,以及匹配空格。问号(?)匹配前一个条目出现一次或者不出线。 模式分组 ?在正则表达式中,()的作用是对字符串分组,()也是元字符。/fred+/匹配的是freddddd,/(fred)+/匹配的是fredfredfredfred,/(fred)*/匹配的是任意字符。
?反向引用不必紧接在对应的捕获组括号后面。下面的模式会匹配y后面的4个连续的非换行符,并用1反向引用表示匹配d后也出现这4个字符的情况。
?也可以用多个括号来分成多组,每个组都可以有自己的反向引用。
?下面这种情况perl匹配的是1,11还是111呢?
perl会认为是111,那么如何避免呢?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |