JavaScript正则表达式-只接受两个没有特殊字符的单词

JavaScript Regular Expression - Accept only two words with no special characters

本文关键字:两个 特殊字符 单词 -只 正则表达式 JavaScript      更新时间:2023-09-26

我正在中尝试以下模式http://regex101.com/#javascript

图案:[a-zA-Z]+'s{1}[a-zA-Z]+

字符串:'Testing Only two characters'

http://regex101.com/r/gT0uX9只突出显示字符串的前两个单词,但当我用小提琴演奏时,它会说是真的。问题出在哪里?我做错什么了吗?

Fiddle

因为.test()会检查正则表达式是否匹配。在您的情况下,它匹配正确,因此是真正的

医生说:

当您想知道是否在string(类似于string.search方法)了解更多信息(但执行速度较慢)使用exec方法(类似于String.match方法)。与exec(或与exec组合使用)一样,测试在同一全局正则表达式实例上调用多次将晋级上一场比赛。

强调矿)如果只需要两个单词,则可以使用锚点^$

^[a-zA-Z]+'s{1}[a-zA-Z]+$

它返回true,因为您的字符串包含两个单词的字符串。如果您想检查字符串是否是由两个单词组成的字符串,请使用锚^$作为字符串的开头和结尾:

^[a-zA-Z]+'s{1}[a-zA-Z]+$