考虑以下字符串:
- 我很开心。我知道。
- 我很开心。我知道。
- 我很开心。
- 我很开心
规则很简单:句号后面必须有一个空格。只有一个应该失败,我试过了:
new RegExp(/(\.\s|^)(?!\S)/)
结果是:
new RegExp(/(\.\s|^)(?!\S)/).test('I am happy.And I know it.')
false
new RegExp(/(\.\s|^)(?!\S)/).test('I am happy. And I know it.')
false
new RegExp(/(\.\s|^)(?!\S)/).test('I am happy.')
false
new RegExp(/(\.\s|^)(?!\S)/).test('I am happy')
false
只有第一个会失败。其他的都会通过。
我想我已经接近了,我只需要调整它说"我们有一个字符/单词在句号之后的任何东西吗,如果有-需要一个空格"
有什么想法?
3条答案
按热度按时间iklwldmw1#
只是测试。然后是一个单词和否定
或.后跟非空格并求反
o7jaxewo2#
您是否考虑过使用正则表达式
\.[^ ]
测试后面没有空格的句点,例如:ui7jx7zq3#
您可以Assert后面没有一个点跟一个非空白字符。
请参见regex 101 demo上的匹配位置。