匹配不包含字符串的正则表达式的技术。

匹配不包含字符串的正则表达式的技术。
通常我们会遇到一个不包含字符串的文本程序员认为最方便的是使用正则表达式来过滤^赫德字符串(德),但这种写作是错误的。我们可以这样写:{ ^赫德},但这样的正则表达式完全是另一种意义。这意味着字符串不能包含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表示这些非素数字符串,所以质数字符串是去掉这些非质数字符串,也就是上面的正则表达式。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部