您可以扩展模式以匹配任何
,
=
或字符串结尾:
(\w*Pwd=)([^,]*(?:,(?!\w+=|$)[^,]*)*)
^^^^^^^^^^^^^^^^^^^^^
请参阅
regex demo
-
(\w*Pwd=)
-第1组:零个或多个文字字符,后跟
Pwd
-
([^,]*(?:,(?!\w+=)[^,]*)*)
-第2组匹配
-
[^,]*
-除以下字符外的任何0+字符
,
角色
-
(?:,(?!\w+=|$)[^,]*)*
-零或多个后续事件:
-
,(?!\w+=|$)
,
后面不跟1个或多个文字字符,后面跟
符号或字符串结尾
-
-除以下字符外的任何0+字符
,
请参阅
Python demo
import re
s = 'gkketl1Pwd=SDFDSFSFD_213213#asdsad,tech1User=WQEWQQW,techPwd=sdfdsfdM9S,gkkhistPwd=FDSFDDF_WISD01#sad,render1Pwd="SADcyx12321321,213213,recoveryPwd=asdsaSA"ycNJ,9CB9PAJ2w4AbqBHB!,trustStorePwd=test,'
maskedValue=re.sub(r"(\w*Pwd=)([^,]*(?:,(?!\w+=|$)[^,]*)*)", lambda m: "{}*****".format(m.group(1)), s)
print(maskedValue)