Regex以替换给定位置的任何字符



我想将一个单独的字符替换为另一个字符,该字符位于字符串中的特定位置。示例:

This is a test string! Now comes a different one! And yet an another one to demonstrate what I want! Hello there! How can I achieve to replace all exclamation mark to point!

我知道我的角色位于第21个位置,因此我尝试了:.{21}(.)K(.*?1)+第一个捕捉组有我想要的角色,我可以利用\K从最后一场比赛开始。但是,我该如何匹配字符串的其余部分呢?

所需输出为:This is a test string. Now comes a different one. And yet an another one to demonstrate what I want. Hello there. How can I achieve to replace all exclamation mark to point.提前感谢!

您可以使用

^.{21}K.

或者,如果出现断线,

(?s)^.{21}K.

查看regex演示

详细信息

  • (?s)-一个使.也匹配换行字符的dotall修饰符
  • ^-字符串的开头
  • .{21}-任意21个字符
  • K-匹配重置运算符
  • .-任意一个字符

请注意,在许多情况下,您可能只使用组和反向引用^(.{21}).->$1<<YOUR_REPLACEMENT_STRING>>

相关内容

  • 没有找到相关文章

最新更新