php 一个正则表达式 怎么样使用正则匹配一个字符串取非?[^p]例如:有这样一个字符串 “# #123 # #哈哈哈哈#”需要通过一个正则得到以 #开始,以 #结束,中间必须有字符但是不能是#通过match_all希望得到如下结果: 1) #123 # 2) #哈哈哈哈# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $str= "# #123 # #哈哈哈哈#232#";$reg ='~(?<=#)(?:(?=[^\s]+))(.*?)(?=#)~';preg_match_all($reg,$str,$m); print_r($m[0]); 左右(?<=)和(?=)是为了捕获那些交叉的#,如果实际情况不会有这个问题,就不用,效率会好很多。 写的不错,但是不能满足我的需求,可能我说的不太明白例如"#&;##" 假设A = # ,我要实现的就是 /A[^A]A/通过你上面的表达式是得不到这个结果的 那"#&;##"这个你想要得到什么结果? 你这个/A[^A]A/,^只能排除单个字符以正则表示应该是/A(?:(?!A).)*A/,A可以是一个字符串 $s='abac#123 # slskf#哈哈 # ss# ss';preg_match_all('/\#[\w\W]+?\#/',$s,$e);var_dump($e); PHP url重写表达式? 关于时间判断问题 ,请高手帮忙 40分求一小段PHP的代码,大家请进 php 字符串处理问题请教 求助 关于用php写入文件的问题 PHP中 SOCKET和 CUR有哪些区别?2者分别用来做什么比较合适 ?请高手赐教了 php学习讨论群欢迎新手和有一定工作经验的高手加入交流学习! 啊啊啊,到底该怎么办?! csdn已有汉字截取函数的兼容性不够 哪位能详细谈谈PHP在MySQL中rollback的使用方法。 现在有点晕了!怎么接收函数返回的数组??? 求解:关于PHP的函数mysql_fetch_array()
$reg ='~(?<=#)(?:(?=[^\s]+))(.*?)(?=#)~';
preg_match_all($reg,$str,$m);
print_r($m[0]);
写的不错,但是不能满足我的需求,可能我说的不太明白
例如"#&;##" 假设A = # ,我要实现的就是 /A[^A]A/
通过你上面的表达式是得不到这个结果的
以正则表示应该是/A(?:(?!A).)*A/,A可以是一个字符串
preg_match_all('/\#[\w\W]+?\#/',$s,$e);
var_dump($e);