Regex 确保标点符号总是以正确的方式放置

Regex 确保标点符号总是以正确的方式放置,regex,Regex,以下字符:。?!,…(可能更多,开放供建议),应始终直接在单词后输出,并始终在单词后留有空格 正确: This is a fox. It is Brown. 错: This is a fox . It is Brown. This is a fox.It is Brown This is a fox .It is Brown. 我基本上想要任何标点符号。除此之外: [^\s][\.?!,…][\s] 如果支持,您可以使用lookarounds断言左侧的内容不是空白字符,右侧的内容不是非空白

以下字符:。?!,…(可能更多,开放供建议),应始终直接在单词后输出,并始终在单词后留有空格

正确:

This is a fox. It is Brown.
错:

This is a fox . It is Brown.
This is a fox.It is Brown
This is a fox .It is Brown.
我基本上想要任何标点符号。除此之外:

[^\s][\.?!,…][\s]

如果支持,您可以使用lookarounds断言左侧的内容不是空白字符,右侧的内容不是非空白字符

(?<!\s)[.?!,…](?!\S)

const regex=/\s+([.?!,…])\s*|([^\s.?!,…])(?!\s)/g;
让str=`这是一只狐狸。它是棕色的。
这是一只狐狸。它是棕色的。
这是一只狐狸。它是棕色的
这是一只狐狸。它是棕色的。
`;
str=str.replace(正则表达式,函数(u,g1,g2){
返回(g1 | | g2)+”;
});

console.log(str)如果支持使用lookarounds断言左侧的内容不是空白字符,右侧的内容不是非空白字符,则可以使用lookarounds

(?<!\s)[.?!,…](?!\S)

const regex=/\s+([.?!,…])\s*|([^\s.?!,…])(?!\s)/g;
让str=`这是一只狐狸。它是棕色的。
这是一只狐狸。它是棕色的。
这是一只狐狸。它是棕色的
这是一只狐狸。它是棕色的。
`;
str=str.replace(正则表达式,函数(u,g1,g2){
返回(g1 | | g2)+”;
});
console.log(str)这是一种方法

print(re.search(r'.*(\.)(\s).*',str1).group())
这是一种方式

print(re.search(r'.*(\.)(\s).*',str1).group())

你的正则表达式是什么味道?你是在寻找替代还是仅仅是匹配?javascript,我会用“.”或任何标点符号替代它。但那部分不太重要。你的正则表达式是什么味道?你是在寻找替代还是仅仅是匹配?javascript,我会用“.”或任何标点符号替代它。但这一部分并不重要。我想匹配与之完全相反的标点符号,基本上我要找的不是之前的空格或之后的空格,这似乎也是一个和。@Himmators这将不匹配之前或之后的空格,我想匹配与之完全相反的标点符号^^基本上我要找的不是之前或之后的空格,这似乎也是一个和。@Himmators这将不匹配之前或之后的空格,请尝试此打印(重新搜索(r'.*\w(\)(\s)。*',str1.group())请尝试此打印(重新搜索(r'.*\w(\)(\s)。*',str1.group())