【发布时间】:2014-07-12 19:00:55
【问题描述】:
我遇到了一个正则表达式挑战,到目前为止还没有找到解决方案。
我有一个字符串,例如:
&str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce malesuada sit amet risus vel ultricies. Quisque pretium leo in sem sodales, in ullamcorper dolor aliquet. Duis at massa felis. Pellentesque fringilla **'![bibendum auctor]**. Nunc scelerisque aliquam sem. Nam pharetra eros quis libero molestie iaculis. Etiam vehicula blandit ipsum in sodales. Nulla tempus cursus lacus, sed cursus ligula consequat at. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse at blandit" ipsum, sed porta urna. Vesti&&&&bulum turpis risus, ultricies at sapien id, vehicula venenatis neque.";
我想preg_matchonly 这部分:preg_match(/'![bibendum auctor]/);
如您所见,字符串中有一些特殊字符,这使正则表达式无法匹配查询。
我不能使用preg_quote(),因为我不想转义整个字符串其他部分的特殊字符。
【问题讨论】:
-
preg_quote('![bibendum auctor]', '/')不会触及字符串的其余部分? -
您可以使用倒划线转义字符,例如
\'\!\[bibendum auctor] -
对不起,我忘了补充特殊字符是未知的,随机生成的,因此我无法手动转义它们。最好的办法是我可以匹配这个,例如:fringilla '![bibendum auctor]。 Nunc
-
点赞:preg_match(/fringilla.*Nunc/)
-
这根本不是有效的 PHP 语法。