我有一些PHP脚本,我需要用他们完全成熟的替代方案来缩短标签,我正在使用vsphp for visual studio 2010以及如何使用正则表达式进行查找和替换。到目前为止,我有以下内容:
Find RegEx: \<\?=\({(.+)}\)\?\>
Replace RegEx: \<\?php echo \1 \?\>
如果一行中只有一个短标记但是如果有两个或更多标记然后它无法正常工作,则它可以正常工作,它会找到“)\?&gt;”的最后一个实例而我只是想找到下一个。例如
Test: <?=($foo)?>
Result: <?php echo $foo ?>
OK
Test: <?=($foo)?> <?=($bar)?>
Result: <?php echo $foo)?> <?=($bar ?>
Not OK
答案 0 :(得分:2)
你想要的是最小匹配 - 大多数其他正则表达式都称为非贪婪匹配。在VS中,您可以使用@
或#
代替*
或+
来执行此操作:
Find RegEx: \<\?=\({(.#)}\)\?\>