[英]JavaScript Regular Expression - Accept only two words with no special characters
我正在http://regex101.com/#javascript中嘗試以下模式
格式: [a-zA-Z]+\\s{1}[a-zA-Z]+
字符串: 'Testing Only two characters'
http://regex101.com/r/gT0uX9僅突出顯示字符串的前兩個單詞,但是當我在小提琴中嘗試時,它表示是正確的。 問題是什么? 難道我做錯了什么?
因為.test()
檢查正則表達式是否匹配。 在您的情況下,它正確匹配,因此是正確的
醫生說什么:
每當您想知道是否在字符串中找到模式時都使用test()(類似於String.search方法); 有關更多信息(但執行速度較慢),請使用exec方法(類似於String.match方法)。 與exec(或與exec結合使用)一樣,在同一全局正則表達式實例上多次調用的test將前進到先前的匹配。
( 我的重點是 )如果只需要兩個單詞,可以使用錨點^
和$
。
^[a-zA-Z]+\s{1}[a-zA-Z]+$
它返回true
因為您的字符串包含兩個單詞的字符串。 如果要檢查字符串是否是兩個單詞的字符串,請使用錨點^
和$
表示字符串的開頭和結尾:
^[a-zA-Z]+\s{1}[a-zA-Z]+$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.