我嘗試有一個正規表示這將改變"dir1/dir2/"
到"dir1/dir3/"
只有dir2
不tmp
,如果是tmp
,我希望它不會改變,保持"dir1/tmp"
。更換所有的話,除了一個 - Perl的正則表達式
我想我需要一個超前正則表達式,但我無法管理。
我嘗試有一個正規表示這將改變"dir1/dir2/"
到"dir1/dir3/"
只有dir2
不tmp
,如果是tmp
,我希望它不會改變,保持"dir1/tmp"
。更換所有的話,除了一個 - Perl的正則表達式
我想我需要一個超前正則表達式,但我無法管理。
您可以在應用s ////之前使用if語句....使用m檢查//如果tmp不存在然後替換。
s{^([^/]+)/(?!tmp/)[^/]+/}{$1/dir3/}
可以寫成更短(和更容易理解)爲'M /.../或s /.../.../ – Dallaylaen 2011-01-23 10:06:29
非常感謝!這種方法真的可以簡化一些事情,例如 – zvika 2011-01-23 11:13:52