用一个句点替换字符串中的多个句点

dwi*_*ank 3 regex autohotkey

我试图用一个句号替换任何两个或更多个句点的组.我怀疑是+操作员参与其中,但是我只有悲伤试图用这个来表达...所以我认为作为一个实验,我会尝试用一个句点替换3个句点.下面的废话是我提出的,当然它不起作用.

OutNameNoExt:= RegExReplace(OutNameNoExt,"\.\.\." , ".")
Run Code Online (Sandbox Code Playgroud)

或者甚至更好,我可以改变现有的表达方式

OutNameNoExt:= RegExReplace(OutNameNoExt,"[^ a-zA-Z0 = 9_-]",".")

所以它永远不会产生超过一个时期?

救命?

Joã*_*lva 5

OutNameNoExt:= RegExReplace(OutNameNoExt,"\.{2,}" , ".")
Run Code Online (Sandbox Code Playgroud)

或者,如果不允许{n,m}(即,至少n但不超过m一次)语法,则可以使用以下代码:

OutNameNoExt:= RegExReplace(OutNameNoExt,"\.\.+" , ".")
Run Code Online (Sandbox Code Playgroud)

或者,您也可以将现有表达式更改为以下内容,以便它不会在一行中生成多个句点:

OutNameNoExt:= RegExReplace(OutNameNoExt,"[^a-zA-Z0=9_-]+" , ".")
Run Code Online (Sandbox Code Playgroud)