考虑以下字符串:
- 我很高兴。我知道这一点。 我很高兴。我知道这一点。
- 我很高兴。
- 我很开心
规则很简单:句号后必须有一个空格。只有一个会失败,我已经试过了:
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
只有第一个应该失败。其余的应该通过。
我想我很接近了,我只需要调整它说"我们有字符/单词后面的东西,如果有-需要一个空格">
想法吗?
可以断言后面没有非空白字符的点。
^(?!.*?.S)
参见regex 101演示中的匹配位置。
console.log(/^(?!.*?.S)/.test('I am happy.And I know it.'));
console.log(/^(?!.*?.S)/.test('I am happy. And I know it.'));
just test for。后面跟着一个词和否定
!(/.w/.test('I am happy.And I know it.'))
。后面跟着非空白和否定的
!(/.S/.test('I am happy.And I know it.'))
您是否考虑使用正则表达式.[^ ]
测试后面没有空格的句点,例如
str = "I am happy."
!str.search(/.[^ ]/)
true