leanhunter 发表于 2011-10-26 17:04:14

【自己搞定了】一个正则表达式在CI里无法匹配的问题

本帖最后由 leanhunter 于 2011-10-27 13:48 编辑

我写的正则表达式,用Regex Match Tracer测试是通过的,如下图:

但是在CI里却无法匹配到。
$str='<li>{$r[\'optname\']}</li>';
preg_replace("/\{(\$*\[.+\])\}/","\\1" , $str);



代码不起作用。求了解CI正则表达式相关问题的大大解答。。。
PS:吐槽论坛的代码高亮和为数不多的等宽字体。。。。


10.27 解决:

$str = preg_replace("/\{(\\$\'\"\$\x7f-\xff]+)\}/", "\\1",$str);

这样解决了,这段是抄的别人的,上面有问题的正则是自己写的。
就没研究我的正则表达式的问题的。现在程序员果然浮躁。遇到问题问别人真不靠谱。




visvoy 发表于 2011-10-26 21:10:42

这跟ci有关系嘛?

leanhunter 发表于 2011-10-27 09:09:02

visvoy 发表于 2011-10-26 21:10 static/image/common/back.gif
这跟ci有关系嘛?

不一定有关系,但同样的代码拷到CI里头就不能用了,这是事实。

Hex 发表于 2011-10-27 12:21:04

这肯定和 CI 无关,CI 也不是 C++ 写的。。。
你这个代码放到 PHP 里肯定也不行。
PHP 的正则有些地方和其他语言的不一样,你要先看一下 PHP 手册。

acabin 发表于 2011-10-27 14:31:50

那么长一串正则放出来……
有心情去看的人真心不多

acabin 发表于 2011-10-27 14:33:59

\[.+\]
仔细看了一下
不得不说你那程序能匹配才是神奇的事情

leanhunter 发表于 2011-10-31 09:39:17

acabin 发表于 2011-10-27 14:33 static/image/common/back.gif
\[.+\]
仔细看了一下
不得不说你那程序能匹配才是神奇的事情

虚心求解~~

浪迹天涯 发表于 2012-6-29 11:47:17

首先,这个CI有哪门子关系呢?
其次,这样可以匹配到啊
页: [1]
查看完整版本: 【自己搞定了】一个正则表达式在CI里无法匹配的问题