我的腳本應查找逗號分隔的3位數版本號(例如1.2.3)
並用新版本號替換它。同一個文件有另外一個不符合這個正則表達式的字符串,腳本仍然會改變它。Powershell正則表達式替換模式
Samplefile.txt
"[email protected]"
"e2bf8da9-275a-484d-95a6-7e6b8c0ce0ca"
從腳本替換命令部分:
-replace "\d.\d.\d","2.2.2"
我希望它給這樣的輸出,
"[email protected]"
"e2bf8da9-275a-484d-95a6-7e6b8c0ce0ca" # This string not changed
但它改變了第二個字符串我也不打算
e2bf8da2.2.2a-484d-92.2.2e2.2.2ce0ca
我是否正確使用了正則表達式?有人可以幫忙嗎?
的_ 「點」 在一個正則表達式_(又名_period_'.')是匹配任何元字符,因此'\ d。\ d。\ d'匹配「一個數字後跟任何字符後跟一個數字,後跟任何一個數字後跟一個數字」。看到卡斯拉的答案是讓這個點成爲一個普通的點。 –
謝謝你詳細解釋。 – VRK