我们有一张正在扫描的卡,其中卡上印有ZZZZ_ss16并扫描为ZZZZ0%ss16。由于打印错误,用户最初使用错误的号码注册卡。卡重印会很棒,但不是一种选择。

我有一个javascript正则表达式,应该可以完成这项工作,但在将其与dotnet一起使用时遇到了麻烦。

s/^(\w{4}).(\w{4})/\10%\1/


我们只需要前4个字符,用_替换0%,然后是后4个字符。

希望有人能帮忙。

最佳答案

在这种情况下,您可以使用

^(\w{4})_(\w{4})$


并替换为$10%$2

Regex Demo

对于.net使用此

var pattern = "^([A-Za-z0-9_]{4})_([A-Za-z0-9_]{4})$";
var template = "ZZZZ_ss16";
var replaceWith = "${1}0%$2";


Ideone Demo

10-06 02:49