簡體   English   中英

JavaScript正則表達式-僅接受兩個不帶特殊字符的單詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM