使用正则表达式在标点符号后添加空格,但忽略美国实例

时间:2019-02-21 18:52:17

标签: javascript regex

我正在使用

(/(?<=[.,])(?=[^\s])/mg,' ')

在后面添加空格。和,后跟空格。我想忽略“美国”一词的实例。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:-1)

您可以使用此正则表达式

\b(U\.S)\b|([,.])(?=\S)
  • \b(U\.S)\b-匹配U.S。由于没有提及任何问题,因此我正在考虑单词边界。 (g1
  • ([.,])(?=\S)-匹配.,,后跟非空格字符。 (g2

let str = 'ab.c,de'
let str2 = 'U.S xyzU.S U.S xyz.x'

const replacer = (input)=>{
  return input.replace(/\b(U\.S)\b|([,.])(?=\S)/gm, function(match,g1,g2){
  return g1 ? g1 : g2+' '
})
}
console.log(replacer(str))
console.log(replacer(str2))