Powershell正则表达式取代模式

时间:2015-05-29 21:53:04

标签: regex

我的脚本应该查找逗号分隔的3位数版本号(例如1.2.3)
并将其替换为新版本号。同一个文件有另一个字符串,它不符合这个正则表达式仍然脚本更改它。

Samplefile.txt

  "search-components@1.1.1"
  "e2bf8da9-275a-484d-95a6-7e6b8c0ce0ca"

从脚本中替换命令部分:

  -replace "\d.\d.\d","2.2.2"

我希望它能提供这样的输出,

  "search-components@2.2.2"
  "e2bf8da9-275a-484d-95a6-7e6b8c0ce0ca" # This string not changed

但它也改变了第二个字符串,如下所示,我并不打算

   e2bf8da2.2.2a-484d-92.2.2e2.2.2ce0ca

我是否完全错误地使用正则表达式。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

你需要逃避正则表达式中的点:

"\d\.\d\.\d"

Demo