我正在寻找RegExp来查找并替换一行中最后一位数字的所有实例,并用相同的数字和Memsource中的句号来代替,这似乎无法正常工作。
示例:
图片。 12-1
图片12-2
图片12-3
致:
图片12-1。
图片12-2。
图片12-3。
我已经用\d$
选择了它们,但是当我尝试用\.
,.$
等替换它们时,似乎无法正常工作。任何建议将不胜感激。谢谢!
答案 0 :(得分:1)
如@WiktorStribiżew注释中所述,您可以使用(\d)$
作为匹配的模式,并使用\1.
作为替换它的字符串。快速查看其工作原理:
(\d)
匹配任意数字并将其捕获到组1中$
匹配行尾\1.
将匹配的字符串替换为第一个捕获组,后跟一个句点产生(\d)$
-> \1.
但是,是否需要甚至匹配数字?以下替换足以满足$
-> .
吗?只需将.
添加到每一行的末尾。唯一的问题是它不会区分行是否以数字结尾。
如果必须以数字结尾才能接受句点,则还可以通过使用正向后视来避免使用捕获组。在这种情况下,要匹配的模式将是(?<=\d)$
,替换模式将是.
。
(?<=\d)
是一个积极的后视对象,它检查当前字符之前是否有数字而不消耗任何字符。(?<=\d)$
检查以确保行尾的字符是使用该字符的数字(即该字符将不会被替换)。然后将产生的替换为(?<=\d)$
-> .
,这将在每行末尾添加一个数字的句点,而无需捕获组。
进一步阅读: