【发布时间】:2016-02-02 06:53:08
【问题描述】:
我想做一个正则表达式,用标点符号修复各种语法错误。只有几个简单的要求:
- 标点符号应该模仿地跟在单词后面(没有空格)
- 标点符号后应始终有一个空格
- 重复的标点符号之间不应有空格
到目前为止,我得到了这个:
(?:\s*)([?!.,]+)(?:\s*)
替换为\1。这修复了第 1 点和第 2 点,但它也在标点符号之间添加了空格。
我尝试运行另一个正则表达式来修复第 3 点:
[!?.,]( )[!?,.]
但这也会删除标点符号本身,即使它们不属于任何捕获组?
行为示例:
输入:“什么!是 .this 这个,gdjs gf fg fddsf ......”
期望的输出:“什么!是。这个这个,gdjs gf fg fddsf...”
【问题讨论】:
-
什么正则表达式风格并添加一些示例
-
word 你的意思是一个字母数字字符?还是别的什么?
-
您能发布任何示例字符串进行测试吗?
-
this demo 呢?
-
正如regex tag info 所述,所有带有此标签的问题还应包含一个指定适用的编程语言或工具的标签。请注意,Python re 模块不如 .NET、Boost 或 PCRE/PCRE2 正则表达式功能强大,因此,很多事情应该通过代码完成。