我有以下正则表达式:
^\s*((\b[^0-9]+\b)\s*){2}$
这个正则表达式希望字符串有两个没有数字的单词。因此,例如,/^\s*((\b[^0-9]+\b)\s*){2}$/g.test('Word Otherword')
按预期返回true
,/^\s*((\b[^0-9]+\b)\s*){2}$/g.test('OnlyOneWord')
返回false
,因为它只包含一个字。
问题在于Regex将强调的字符(如ã
或é
)视为字边界(\b
)。这样,如果我测试/^\s*((\b[^0-9]+\b)\s*){2}$/g.test('João')
它会返回'true',因为它是两个单词而不是一个单词。
我怎么能解决这个问题?