2017-08-31 43 views
0

在Rails中,對於作爲哈希標籤的字符串,我想測試它是否有效(僅字母數字和下劃線)。但我不知道提前的第一個字符是否會#僅基於前導字符的值將RegEx匹配應用於前導字符

我可以爲它進行測試:

if (string.first == '#') 
    string.match(/^[#][\w]+$/) 
else 
    string.match(/^[\w]+$/) 

我怎麼會手藝的正則表達式做比賽,但只允許如果它的#字符是主角?

+1

'?'運算符指示前一個字符的0或1。所以在正則表達式開始時'#?'可以解決你的問題。 –

回答

2

還有?正則表達式中的量詞,表示zero or one occurrence。因此,您的正則表達式轉換爲:

string.match(/^#?\w+$/) 
+0

@Toto謝謝,編輯 –

相關問題