正则表达式替换'<! - ?'通过'<?php' - >

时间:2010-09-18 21:13:24

标签: regex eclipse

您好我正试图找到所有'&lt;?'的出现在我的PHP代码中。我为此使用了eclipse,并且我试图搜索下面的模式:“&lt; \?^ [p]”希望这会让我回归所有&lt;? occrences,但不是&lt;?php的..

正则表达式有什么问题?我以为我已经找到了正则表达式,但是接缝就像我还有很长的路要走:(

4 个答案:

答案 0 :(得分:3)

试试这个:<\?[^p]

答案 1 :(得分:2)

我不熟悉Eclipse的正则表达式语言,但我想你想要这个:

"<\?[^p]"

区别在于:

  • [^p]表示除p
  • 之外的任何字符
  • ^[p]表示新行的开头,后跟p

但是你应该查看Eclipse的手册,找出Eclipse使用的确切正则表达式语法。

答案 2 :(得分:2)

如果全部失败,您可以使用没有正则表达式的技巧:用其他内容替换<?php次出现(例如THE_PHP_TAG),然后搜索{{ 1}},然后将<?替换回THE_PHP_TAG

答案 3 :(得分:0)

被修改

根据我的理解,您希望将<?更改为<?php。尝试将<\?(?!php)替换为<?php。 (这会阻止<?php变成<?phpphp)。