Visual Studio 2010查找和替换正则表达式帮助(适用于php短标记)

时间:2011-03-04 10:04:22

标签: regex visual-studio replace

我有一些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

1 个答案:

答案 0 :(得分:2)

你想要的是最小匹配 - 大多数其他正则表达式都称为非贪婪匹配。在VS中,您可以使用@#代替*+来执行此操作:

Find RegEx: \<\?=\({(.#)}\)\?\>