求正则表达式$str = "aaaa[size=2][font=微软雅黑]bbbb[zzzz]cccc"; aaaabbbbcccc,我用'/\[.*\]/'匹配不行

如题所述

改成:'/\[.*?\]/'
多一个?而已,即非贪婪模式,简单说就是最短满足,每一个[]都被当成一个进行匹配,因此匹配到3个[],替换成空得到aaaabbbbcccc;
少了?则为贪婪模式,匹配过程中即使匹配到 ] 也依然向右匹配更多,直到c前的],其后没有 ] 为止,因此你得到的结果应该是aaaacccc;
还不明白去搜一下“正则 贪婪”看看。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-30
说具体点,要匹配什么啊?!
相似回答
大家正在搜