【发布时间】:2022-01-15 21:15:02
【问题描述】:
我有这个字符串:
Hello22, I'm 19 years old
如果前面有空格,我只想用 * 替换数字,所以它看起来像这样:
Hello22, I'm ** years old
我一直在尝试一堆正则表达式,但没有运气。希望有人可以帮助使用正确的正则表达式。谢谢。
我尝试过的正则表达式:
Regex.Replace(input, @"([\d-])", "*");
返回所有替换为 * 的数字
Regex.Replace(input, @"(\x20[\d-])", "*");
没有按预期工作
【问题讨论】:
-
请在问题中包含您尝试过的一些正则表达式。
-
(?<= )[0-9]+或者,可能是\b[0-9]+\b(这里\b是一个分词,这就是为什么所有19都会匹配19, as I say, 19, I'm 19) -
德米特里有正确的答案。谢谢
-
@Alberto 如果 Dmitry 有正确答案,您应该将其标记为已接受。
-
这能回答你的问题吗? Reference - What does this regex mean?