在javascript中验证句号后是否有空格的正则表达式



考虑以下字符串:

  • 我很高兴。我知道这一点。
  • 我很高兴。我知道这一点。
  • 我很高兴。
  • 我很开心

规则很简单:句号后必须有一个空格。只有一个会失败,我已经试过了:

  • 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

最新更新