Javascript 正则表达式匹配某些模式,除非是较大模式的一部分

Javascript 正则表达式匹配某些模式,除非是较大模式的一部分,javascript,regex,Javascript,Regex,我想编写一个正则表达式,以便在句点或逗号后没有空格时查找,除非一行中有三个句点,在这种情况下,查找后面有另一个单词字符 例如 “你好”->匹配 “听起来不错…”->没有匹配项 “…你确定吗?”->不匹配 这就是我到目前为止所做的(后面的引号也很好),但是它找到了与第三个示例相匹配的内容,这是我不想要的 /[.,][^\s"”.]/g 如何指定\.\.\.\.\w不应匹配,但任何其他\.\w应匹配 (使用js)我认为下面的正则表达式满足了您的需要: (?<!\.\.)[.,](?

我想编写一个正则表达式,以便在句点或逗号后没有空格时查找,除非一行中有三个句点,在这种情况下,查找后面有另一个单词字符

例如

“你好”
->匹配

“听起来不错…”
->没有匹配项

“…你确定吗?”
->不匹配

这就是我到目前为止所做的(后面的引号也很好),但是它找到了与第三个示例相匹配的内容,这是我不想要的

/[.,][^\s"”.]/g
如何指定
\.\.\.\.\w
不应匹配,但任何其他
\.\w
应匹配


(使用js)

我认为下面的正则表达式满足了您的需要:

(?<!\.\.)[.,](?=[^\s.])
(?

它匹配任何前面没有两个句点,后面没有句点或空格的句点。

我认为下面的正则表达式满足您的需要:

(?<!\.\.)[.,](?=[^\s.])
(?

它匹配任何前面没有两个句点,后面没有句点或空格的句点。

如果使用V8+使用lookback
(?正在替换吗?对于
Hello.how.you
字符串的预期输出是什么?如果替换为空格,则使用
替换(/(\.{3}\w)|[,](?![\s.])/g,函数(x,y){return y?y:;})
谢谢@ctwheels,这似乎奏效了!如果使用V8+使用lookbehind
(?正在替换吗?
的预期输出是什么您好。
字符串怎么样?如果使用空格替换,请使用
替换(/(\.{3}\w)|[,](?![\s.])/g,函数(x,y){return y?y:;})
Thank@ctwheels,这似乎很管用!谢谢!为什么我需要正面前瞻?我想这取决于你想匹配什么。在这种情况下,我只匹配违规句点或逗号。谢谢!我为什么需要正面前瞻?我想这取决于你想匹配什么。在这种情况下,我只匹配违规的pe里奥德或逗号。