不包含某项字符串的正则(不包含某项字符串的正则函数)

http://www.itjxue.com  2023-02-14 02:02  来源:未知  点击次数: 

问个简单的正则(不能包含某字符串),这个该怎么写

不明白楼上的\1?\1?是什么意思,\1是向前引用吗?

如果是的的话那不是只能匹配重复的东西?如:

[00:00:00][00:00:00][00:00:00][00:00:00]

而[00:00:00][11:11:11]就匹配不了了?

如果这个是标准的正则的话那这样:

(\[\d{1,2}:\d{1,2}\.{0,1}\d{1,2}\])+不就可以匹配多个时间了?而且这个也有问题,先是第2个\d{1,2}不对,因为这应该是表示秒种吧,最大只能60,因些这个不对;

还有\.{0,1}也就是\.?为什么可以没有呢没有不就变成[00:0000]了,这个也是对的吗?

我觉得如果是标准正则应该是这样的:

((\[\d{2}:[0-6]\d\.\d{2}\])+.+?)+

前提是这是标准的正则,如果不是,当我没说,如果是有问题找我

正则表达式之匹配不存在特定字符的字符串

作为一名不经常使用正则表达式的程序员,想用最简单的语言来描述否定匹配,不过发现确实不是那么好理解。还是按照自己知道的来描述吧。

这些都是来源于网上,前人已经总结的很好了。前人栽树,后人乘凉。我就乘乘凉好了。O(∩_∩)O哈哈~

本次使用 (?!pattern) 匹配,显而易见它是匹配下一个字符串来判断本次的匹配是否成功。当然这是一个否定匹配。

在文档中匹配出,不包含“hello”的字符串。

其中第1,5,6行包含有“hello”字符串。当然这不是重点,重点是怎么来写这个正则表达式。

当然,结论是:

运行效果:

将包含有“hello”的字符串全部排除掉了。这样就实现了我们想要的效果。

_

简明解释一下,这个语句的意思:

从头开始匹配,否定匹配任意字符到“hello”,然后匹配任意字符到尾部结束。

大功告成,回家睡觉。O(∩_∩)O哈哈~

正则不包含某个字符串怎么写

你的正则有点重复了,\w本来就包含了汉字和数字了了,所以没必要汉字、数字再加上\w,另外,如果前后不限的话,你这个就只能匹配到前后是数字、字母、汉字、-和_,其他的字符就匹配不上了

正确应该是

/^.+\..+$/

当然,如果说限定了特殊字符只能是-和_,那可以改成/^[\w\-\_]+\.[\w\-\_]+$/

用正则表达式怎样匹配?不包含特定字符串的字符串

正则表达式匹配公式为:^((?!XXX).)*$,XXX为字符串。

另外列举一些正则表达式的语法:

[abc]

a或b或c

.

任意单个字符

a?

零个或一个a

[^abc]

任意不是abc的字符

\s

空格

a*

零个或多个a

[a-z]

a-z的任意字符

\S

非空格

a+

一个或多个a

[a-zA-Z]

a-z或A-Z

\d

任意数字

a{n}

正好出现n次a

^

一行开头

\D

任意非数字

a{n,}

至少出现n次a

$

一行末尾

\w

任意字母数字或下划线

a{n,m}

出现n-m次a

(...)

括号用于分组

\W

任意非字母数字或下划线

a*?

零个或多个a(非贪婪)

(a|b)

a或b

\b

单词边界

(a)...\1

引用分组

(?=a)

前面有a

(?!a)

前面没有a

\B

非单词边界

正则表达式中有(?=a)和(?!a)来表示我们是否需要匹配某个东西。

正则表达式不包含某个字符串怎么写

C\s*(?!10\.3|192\.168)([0-9]{1,3}\.){3,}[0-9]{1,3}\/[0-9]{1,3}.*((Vlan[0-9]{4,})|(Vlan20)|(Port-channel))

php 正则 不包含某字符串的正则表达式

常见函数?strstr($str,?“abc”);

正则匹配?preg_match(”/(abc)?/is”,?$str);

但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了

如果不用正则?!strstr($str,?“abc”);?就可以解决问题了

但是用正则呢,就只有这样了,”/^((?!abc).)*$/is”

//------------------------------------------------

复制代码?代码如下:

?php

$str?=?"dfadfadf765577abc55fd";

$pattern_url?=?"/^((?!abc).)*$/is";

if?(preg_match($pattern_url,?$str)){

echo?"不含有abc!";

}else{

echo?"含有abc!";

}

?

//------------------------------------------------

结果为:false,含有abc!

$str?=?“2b3c4d5c”;

注意:^(abc)?这个语法是逐个检查$str中的字符是否不在?a?b?c中,

preg_match(”/^(abc)/s”,?$str,?$arr);

其中字符?2?就不在?a?b?c?中,所以$arr返回值为2;

同时匹配,包含字符串?“abc”,而且不包含字符串?“xyz”

“/(abc)^((?!xyz).)*$/s”

以下是补充:

判断一个字符串中是否含有另一字符串,有很多方法,如下:

1.?常见函数

strstr($str,?"abc");

2.?正则匹配

preg_match("/(abc)/is",?$str);

但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了。

如果不用正则如下就可以解决问题

(责任编辑:IT教学网)

更多

推荐Javascript/Ajax文章