示例字符串:release-11-2-10
传统的正则表达式只能进行字符串匹配,比如我们可以用这个正则表达式来匹配上面的字符串。
release-\d*-\d*-\d*
release-11-2-10
但是当我们做一个转换的时候,比如 release-11-2-10 转换成 11.2.10 的时候,匹配就不够用了,这个时候我们可以使用命名捕获组和模板来解决这个问题。
release-\d*-\d*-\d*
普通正则表达式
release-(?<major>\d*)-(?<minor>\d*)-(?<version>\d*)
改为命名捕获组(括号标识匹配到的内容是一个捕获组,下划线的部分标识对捕获组进行命名)
${major}.${minor}.${version}
将捕获组内容应用到模板,得到转换后内容。
11.2.10
正则表达式相关帮助文档:https://www.regular-expressions.info/named.html