请问php 如何正则匹配以 &开始,以;结束的字符串呢?比如: &abc; 或者 &#et564r;

作者&投稿:呈肺 (若有异议请与网页底部的电邮联系)
正则表达式 匹配 非字符串abc结尾~

看看这是不是你要的代码:
<?php
$str="12adcdcabcabc";
preg_match("/.*([^a][^b][^c])$/",$str,$matches);
print_r($matches);

?>
附:同意回答者: yeahrahxephon的回答。

常见函数 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”;
注意: 这个语法是逐个检查$str中的字符是否不在 a b c中,
preg_match(”//s”, $str, $arr);
其中字符 2 就不在 a b c 中,所以$arr返回值为2;
同时匹配,包含字符串 “abc”,而且不包含字符串 “xyz”
“/(abc)/s”
以下是补充:
判断一个字符串中是否含有另一字符串,有很多方法,如下:
1. 常见函数
strstr($str, "abc");
2. 正则匹配
preg_match("/(abc)/is", $str);
但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了。
如果不用正则如下就可以解决问题
http://www.33dir.com/news/2/2167.html

<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if (preg_match("/^&(.*);$/i", "&abc;")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
?>

/&\w;/ 以&开头中间是任何单词字符,以;结尾
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [?\f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^?\f\n\r\t\v]。
\w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
\W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。

&[^;]+;


轮台县15986341716: 请问php 如何正则匹配以 &开始,以;结束的字符串呢?比如: &abc; 或者 &#et564r; -
倪天莫迪: <?php //模式分隔符后的"i"标记这是一个大小写不敏感的搜索 if (preg_match("/^&(.*);$/i", "&abc;")) {echo "A match was found."; } else {echo "A match was not found."; } ?>

轮台县15986341716: PHP正则以某字符为开头匹配 -
倪天莫迪: PHP正则表达式:/t(\d*)/|/m(\d*)/ 完整的PHP替换程序如下:$s='/t/xxxxxxx.jpg /t14124/xxxxx.jpg /m/xxxxxx.jpg /m34255/xxxxxx.jpg'; echo preg_replace('~/t(\d*)/|/m(\d*)/~','/l$1$2/',$s);?>运行结果:/l/xxxxxxx.jpg /l14124/xxxxx.jpg /l/xxxxxx.jpg /l34255/xxxxxx.jpg

轮台县15986341716: PHP如何用正则来匹配空格(高手问一下) -
倪天莫迪: preg_replace: 正则表达式是用来操作不确定的字符串的,比如说,你不确定里面是有“a apple”还是有“a orange”,所以你就要用正则去查找,找一个他俩都能匹配的正则表达式,就可以查找,但是你所说的问题是将空格替换,完全没有必...

轮台县15986341716: php 如何用正则匹配前面两个字符 -
倪天莫迪: if (preg_match('#^sp#i', $str, $m)){ echo '找到了:'.$m[0]; }else{ echo '没找到'; }

轮台县15986341716: php 正则表达式 怎么匹配第一次出现的位置 -
倪天莫迪: sybase_connect连上数据库.语法: int sybase_connect(string [servername], string [username], string [password]); 返回值: 整数函数种类: 数据库功能 本函数用来打开与 Sybase 数据库的连接.参数 servername 为欲连上的数据库服务器名称.参数 username 及 password 可省略,分别为连接使用的帐号及密码.使用本函数需注意早点关闭数据库,以减少系统的负担.连接成功则返回数据库的连接代号,失败返回 false 值.

轮台县15986341716: php 正则表达式 匹配1到32 如何匹配? 这样可不可以[1 - 32] -
倪天莫迪: 正则是按位解析匹配的,所以[1-32]是不行的.解析:1、1-32,包含1位数(1-9)和2位数(10-32)2、10-32必须切割,10-19和20-29形式一样,得到[12][0-9],30-32有3[012]3、因此得到[1-9]|[12][0-9]|3[012]4、考虑全匹配,因此得到/^(?:[1-9]|[12][0-9]|3[012])$/, ?:表示不捕获匹配,意思就是不保存括号数据 最终:$pattern = '/^(?:[1-9]|[12][0-9]|3[012])$/'; //这个就是1-32的正则啦

轮台县15986341716: 求PHP匹配指定字符开头,指定字符结尾.中间,任意字符,的正则怎么写. -
倪天莫迪: $pattern = "/^百".$a.".*".$b."$/"; 另外,你的程序有问题,我帮你改好了,你看看吧.度 完整的PHP程序如下知: <?php $str_arr = array("iameverysorry","快乐道编程,快乐生活","php教程编程","1997年香港回归","英...

轮台县15986341716: php正则表达式 怎样从后面开始匹配 -
倪天莫迪: preg_match_all("/<li>(.+)<\/li>/i",$st,$ma); echo end($ma[1]);虽然array_pop($ma[1])也可以得出这数组的最后一个元素 但是它会把这元素从原数组中删除从而改变这数组 所以本人强烈不建议使用

轮台县15986341716: php正则匹配数字 -
倪天莫迪: *; preg_match(',$arr);##']*?>;/a>/a>a href="thread-125633333-1-1?([0-9]+)&lt用正则匹配出来preg_match可以得到其值$str=''; class="xi2"+10900< print_r($arr).html"

轮台县15986341716: php 正则表达式 怎么匹配</div>第一次出现的位置 -
倪天莫迪: PHP正则表达式可以匹配</div>第一次出现的位置,但是PHP还有strpos和strripos两个函数可以搜索</div>在字符串第一次出现的位置,其中strripos是搜索时不区分大小写的搜索函数.因此,我给你个例子,并且把三种方法都列出来,你看看吧. <...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网