用JavaScript和Regex校对文本

用JavaScript和Regex校对文本,javascript,regex,replace,Javascript,Regex,Replace,我校对了很多同行提交的明文文件。当我的眼睛疲劳时,我有时会忽略多余的空格或重复的单词。我目前使用以下正则表达式搜索: [/t]{2} -Finds duplicate spaces (?>(/p{P})\1+)(?<![^.]|^)\.{3}) -Finds duplicate punctuation except ellipses \b(\w+)\s+\1\b -Finds duplicate words [/t]{2}-查找重复的空格 (?>(/p{p})\1+(?

我校对了很多同行提交的明文文件。当我的眼睛疲劳时,我有时会忽略多余的空格或重复的单词。我目前使用以下正则表达式搜索:

[/t]{2} -Finds duplicate spaces  
(?>(/p{P})\1+)(?<![^.]|^)\.{3}) -Finds duplicate punctuation except ellipses  
\b(\w+)\s+\1\b -Finds duplicate words  
[/t]{2}-查找重复的空格
(?>(/p{p})\1+(?)?
我也有一些自定义搜索,例如查找“先生”并替换为“先生”


有没有一种简单的方法可以在JavaScript中执行这四种类型的替换函数?

前两个正则表达式看起来不太好。
不过,您可以将它们组合成一个正则表达式

在以下两种类型中:

Type-1使用
punct
posix字符类。
类型-2使用
分支重置
构造和
属性构造

只需使用与您的平台兼容的正则表达式进行全局查找/替换

第1类-

 # Find:  (?:([^\S\r\n])[^\S\r\n]+|\b(\w+)(?:\s+\2)+\b|(\.{3})\.*|([[:punct:]])\4+)
 # Replace:  $1$2$3$4

 (?:
      ( [^\S\r\n] )                 # (1)
      [^\S\r\n]+ 
   |  
      \b 
      ( \w+ )                       # (2)
      (?: \s+ \2 )+
      \b 
   |  
      ( \.{3} )                     # (3)
      \.*
   |  
      ( [[:punct:]] )               # (4)
      \4+ 
 )
第2类-

 # Find:  (?|([^\S\r\n])[^\S\r\n]+|\b(\w+)(?:\s+\1)+\b|(\.{3})\.*|(\p{Punct})\1+)
 # Replace:  $1

 (?|
      ( [^\S\r\n] )                 # (1)
      [^\S\r\n]+ 
   |  
      \b 
      ( \w+ )                       # (1)
      (?: \s+ \1 )+
      \b 
   |  
      ( \.{3} )                     # (1)
      \.*
   |  
      ( \p{Punct} )                 # (1)
      \1+ 
 )

前两个模式的可能重复项为false。替换字符串在哪里?我从一个简单的解决方案开始,使用。在这里,我使用上面的示例,替换字符串为$1,或者对于第一个示例,我只是将其替换为一个空格。我不明白问题是什么。Javascript支持正则表达式,因此,请学习如何使用API并使用它。如果您有特定的问题,请提出问题。有一篇很好的文章,但还有很多其他的。