用于将特定“.”表示法替换为“_”的正则表达式

Regular Expression to replace specific '.' notations to '_'

本文关键字:正则表达式 替换 表示 用于      更新时间:2023-09-26

我有一个字符串Mr. $m.Name$ stays at $m.Address.City$

我想替换上述字符串中的.表示法,这些表示法不是在前面紧随$m,而是在$分隔符范围内。我想用_表示法替换这种.符号。

这是我对上述字符串的期望结果:Mr. $m.Name$ stays at $m.Address_City$
但是我无法找出正确的表达方式来完成这项工作。

谢谢。

(?<!'$m)'.(?='S)

试试这个。这将在C#中工作。将逐字模式与 @ 一起使用。请参阅演示。替换为 _

https://regex101.com/r/pM9yO9/17

这是一个使用 sed 的示例

    echo 'Mr. $m.Name$ stays at $m.Address.City$ m.' | sed "s/[^m]'./_/g"
 | sed "s/[^$]m./m_/g"