【发布时间】:2021-08-26 09:37:06
【问题描述】:
我有一个字符串'test@gmail.com'
我想使用正则表达式将@之前的所有字符替换为星号(*)
所以预期的结果:
'****@gmail.com'
我尝试使用这样的正则表达式:
'test@gmail.com'.gsub(/^.*?(?=@)/, '*') 但结果是*@gmail.com
或像这样的正则表达式:
'test@gmail.com'.gsub(/^[^@]*/, '*') 但结果相同 *@gmail.com
我不想使用.split 方法
请给点建议好吗?
【问题讨论】:
-
您可以计算匹配的字符数量,并在替换中使用
*的数量。