最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php 正则表达式 ?= ?!是什么意思
时间:2022-06-25 02:39:50 编辑:袖梨 来源:一聚教程网
先来看看正则表达式的语法吧。
我们看到,正则表达式中有(?=a)和(?!a)来表示我们是否需要匹配某个东西。
所以我们有需要不匹配某样东西的时候我们就可以用(?!a)了。比如说我们要匹配不含hello的字符串就可以这样写。
^(?!.*hello)
这里.*用来表示hello之前可能有其他的字符,为什么还要加^呢,因为如果不加的话,可能匹配到h之后的这个位置上了。
我们现在就可以解决regex golf上的abba这道题了。这道题是让我们去匹配不含abba这种形式的单词,比如abba,anallagmatic就不应该匹配上。所以这道题只需要这样就可以了。
^(?!.*(.)(.)\2\1)
然后利用不匹配,我们还可以解决prime这道题,这道题是让我们匹配有素数个x的串,先看正则。
^(?!(xx+)\1+$)
(xx+)是匹配2个及2个以上的x,(xx+)\1+就是匹配重复出现2个及以上的串,所以(xx+)\1+就表示了那些非素数的串,那么素数串就是除去这些非素数串,就是上面这个正则表达式了。
相关文章
- 原神伴爪同行第五天怎么玩 11-27
- 原神瑞幸联名怎么玩 11-27
- 无期迷途派因怎么样 11-27
- 阴阳师季四时承青怎么样 阴阳师季四时承青皮肤介绍 11-27
- 阴阳师神酿星熊童子怎么样 阴阳师神酿星熊童子式神介绍 11-27
- 炉石传说融合进化猎卡组怎么样 11-27