首页前端开发其他前端知识php 正则 不包含某字符串的正则表达式

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

时间2024-02-01 15:08:03发布访客分类其他前端知识浏览1112
导读:收集整理的这篇文章主要介绍了php 正则 不包含某字符串的正则表达式,觉得挺不错的,现在分享给大家,也给大家做个参考。 常见函数 strstr($str, “abc” ; 正则匹配 PR...
收集整理的这篇文章主要介绍了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);

但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了。
1. 如果不用正则如下就可以解决问题

!strstr($str, "abc");

2. 但是用正则呢,就只有这样了

preg_match("/^((?!abc).)*$/is", $str);

完整代码示例

@L_304_1@ 代码如下:
$str = "dfadfadf765577abc55fd";
$pattern_url = "/^((?!abc).)*$/is";
if (preg_match($pattern_url, $str))
{
echo "不含有abc!";
}
else
{
echo "含有abc!";
}

结果为:false,含有abc!

同时匹配,包含字符串 "abc",而且不包含字符串 "xyz"的正则表达式:

preg_match("/(abc)[^((?!xyz).)*$]/is", $str);

该方法有效,本人使用方法如下:

    (?:(?!\/div> ).|\n)*? //匹配不含/div> 的一个字符串

但最终使用中结果是发现,该方法效率极其低下,在处理非常短文字(要匹配该正则式的相同部分的有十几个字,或者最多几十个)时间可以考虑使用,但当用于大篇幅文章解析或多处需要改种匹配时间应不使用,考虑用其他方法替代(如:先解析出要匹配该段正则式的文字,然后验证其中是否存在某段文字),正则表达式对于匹配不含特定字符串的文字段时并不是非常有效的方法.

您可能感兴趣的文章:
  • PHP 实现字符串翻转(包含中文汉字)的实现代码
  • PHP简单判断字符串是否包含另一个字符串的方法
  • php检查字符串中是否包含7位GSM字符的方法
  • php对包含html标签的字符串进行截取的函数分享
  • php 判断字符串中是否包含html标签
  • php strstr查找字符串中是否包含某些字符的查找函数
  • php判断字符以及字符串的包含方法属性
  • php中判断一个字符串包含另一个字符串的方法
  • php 字符串中是否包含指定字符串的多种方法

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

php正则

若转载请注明出处: php 正则 不包含某字符串的正则表达式
本文地址: https://pptw.com/jishu/595560.html
正则表达式中\w不能识别中文 用正则删除不包含某个字符串的行的代码

游客 回复需填写必要信息