首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用相同的数字和句号替换行中的最后一个数字?

如何用相同的数字和句号替换行中的最后一个数字?
EN

Stack Overflow用户
提问于 2019-12-01 22:13:07
回答 1查看 80关注 0票数 0

我正在寻找一个RegExp来查找和替换所有在一行中的最后一个数字的实例,在Memsource中用相同的数字和一个句号,这似乎不正常工作。

示例:

图片。12-1

图片。12-2

图片。12-3

至:

图片。12-1。

图片。12-2。

图片。12-3.

我通过\d$选择了它们,但是当我试图用\..$等替换它们时,它似乎不能正常工作。如有任何建议,将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-01 22:31:05

正如@WiktorStribi在注释中所述,您可以使用(\d)$作为要匹配的模式,使用\1.替换它。以下是这方面的工作原理的快速分解:

  • (\d)匹配任何数字并在第1组中捕获它
  • $与行尾匹配
  • \1.将匹配的字符串替换为第一个捕获组,后面跟着句点

导致(\d)$ -> \1.

然而,是否有必要与数字匹配呢?下面的替换是否足够$ -> .?这将简单地将.添加到每一行的末尾。唯一的问题是,它不会区分这一行是否以数字结尾。

如果必须以数字结尾才能接收句点,则还可以通过使用正面的后视来避免使用捕获组。在这种情况下,要匹配的模式将是(?<=\d)$,替换模式将是.

  • (?<=\d)是一个正面的外观,它检查当前字符之前是否有一个数字,而不消耗任何字符。
  • (?<=\d)$检查以确保行尾的字符是使用该字符的数字(即该字符不会被替换)。

由此产生的替换将是(?<=\d)$ -> .,它将在每一行中添加一个句点,以一个数字结尾,而不需要捕获组。

进一步读:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59130467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档