通常我们会遇到一个不包含字符串的
文本。
程序员认为最方便的是使用正则表达式来过滤^赫德字符串(德),但这种写作是
错误的。我们可以这样写:{ ^赫德},但这样的正则表达式完全是另一种意义。这意味着字符串不能包含H、E、D三个字符。什么样的正则表达式可以过滤不包含完整hello字符串的信息
事实上,在正则表达式中不
支持反向匹配是不
正确的百分之一百。这样,我们可以使用负查找来
模拟反向匹配,从而
解决我们的问题:
复制代码如下:^((Hede!)* *美元)
上面的表达式可以过滤掉信息,不包含德字符串。我还说,这写的不是很好用的正则表达式,但它可以用这种方式。
解释
一个字符串是由n个字符,每个字符的前后有一个空字符,字符串n字n + 1空字符串。让我们在abhedecd串一看:
所有E编号
位置是空字符。表达(Hede!)要去寻找,看看前面是不是合德的字符串,如果没有(其他字符),然后。(周期)将匹配这些其他字符。这个正则表达式的查找也被称为零宽度断言(零宽度断言),因为它不捕获任何字符,但仅仅是一个判断。
在上面的例子中,字符串中的每个字符都会
检查是否前面的德,如果不是,它是。(a period), to capture this character.The expression (Hede!) 只
执行一次。所以我们用括号括起来的表达式组(组),然后
修改它与*(星号),匹配0次或更多:复制代码如下:((Hede))。
你能理解正则表达式((Hede))。*匹配字符串abhedecd 结果
在正则表达式中,如果刻板印象向前看,它将帮助我们解决字符串不包含匹配的问题。
以下是一些补充:
我们共享三种从PHP生成随机数的
方法,生成1-10个不重复的随机数,PHP生成不重复随机数的示例。
正则表达式如果是黑客新闻看到。正则表达式有几个有趣的问题。其中有些需要不匹配。例如,我们需要匹配一个不包含单词的字符串。
在开始这个问题之前,先看看正则表达式的语法。
{ A或B或C。任何单个字符都为零或A。
{ abc }不是ABC字符的空格a * 0或多个a
{ } a-z A-Z的非
空间+一个或多个任意字符
{ a-za-z } A-Z或a-z D任意数量的{ }正好碰巧N次了
在一行的开头,是一个任意的非数字a,n,}至少n个a
◎任意字母W或划出一个{ N在一行的末尾,和n-m次M }
(…)用于将任意非字母数字分组或下划线为*零或多A(非贪婪)的圆括号。
(一| B)A或B B字边界(一)…1个
参考分组
(a)A前面没有一个非词边界!一)
有(a)和(!a)用正则表达式表示是否需要匹配某些东西。
所以,当需要一个不匹配的东西,它可以使用(!例如,为了匹配一个没有hello的字符串,它可以像这样写。
复制代码代码如下所示:
^(!*你好!
在这里.在可能有其他字符之前,请先加上否,因为它可能是匹配到H之后的位置。
现在你可以解决问题的正则表达式如果阿爸。
问题是,不包含Abba词匹配,如阿爸,和anallagmatic不匹配。
正则表达式代码:
复制代码代码如下所示:
(*!((1))。(2)
然后使用不匹配,也可以解决素数的问题,它匹配的是素数的x,先看看规则。
复制代码代码如下所示:
^(!(!(XX +) 1 + $)
(XX +)是匹配2或大于2 x,(XX +) + 1是匹配重复出现2个或多个字符串,所以(XX) 1表示这些非素数字符串,所以质数字符串是去掉这些非质数字符串,也就是上面的正则表达式。