我正在寻找一个RegExp来查找和替换所有在一行中的最后一个数字的实例,在Memsource中用相同的数字和一个句号,这似乎不正常工作。
示例:
图片。12-1
图片。12-2
图片。12-3
至:
图片。12-1。
图片。12-2。
图片。12-3.
我通过\d$选择了它们,但是当我试图用\.、.$等替换它们时,它似乎不能正常工作。如有任何建议,将不胜感激。谢谢!
发布于 2019-12-01 22:31:05
正如@WiktorStribi在注释中所述,您可以使用(\d)$作为要匹配的模式,使用\1.替换它。以下是这方面的工作原理的快速分解:
(\d)匹配任何数字并在第1组中捕获它$与行尾匹配\1.将匹配的字符串替换为第一个捕获组,后面跟着句点导致(\d)$ -> \1.
然而,是否有必要与数字匹配呢?下面的替换是否足够$ -> .?这将简单地将.添加到每一行的末尾。唯一的问题是,它不会区分这一行是否以数字结尾。
如果必须以数字结尾才能接收句点,则还可以通过使用正面的后视来避免使用捕获组。在这种情况下,要匹配的模式将是(?<=\d)$,替换模式将是.。
(?<=\d)是一个正面的外观,它检查当前字符之前是否有一个数字,而不消耗任何字符。(?<=\d)$检查以确保行尾的字符是使用该字符的数字(即该字符不会被替换)。由此产生的替换将是(?<=\d)$ -> .,它将在每一行中添加一个句点,以一个数字结尾,而不需要捕获组。
进一步读:
https://stackoverflow.com/questions/59130467
复制相似问题