2012-10-09 70 views
-3

我已經解決了如果其他和計數,但我真的知道如果你有一些解決方案來檢查一個單詞是否超過一個字符。Ruby中的REGEXP來檢查一個單詞是否有多個字母

我想檢查給出的字符串是否必須是a,b或c。如果是aaa,ab,cc,dd,它會失敗。

就像我之前說過的,我已經有一個解決方案,但使用如果我想使用正則表達式與紅寶石。

謝謝。

+0

我認爲你的問題需要一些清晰。字符串只會包含一個字母還是多個字母?會不會有空格的分隔符?應該「一個b」失敗? – sunnyrjuneja

+0

使用if添加您的解決方案。理解你想要的東西會更容易。 –

回答

0

要匹配「a」,「b」或「C」,但沒有別的,你可以使用這個表達式:

/^[abc]$/ 

要檢查是否字符串爲空或包含任何其他比單「一」,「b」或「C」,這應該做的伎倆:

/^$|[^abc]|.{2,}/ 

取決於你想要什麼字符允許,你可能需要更換[abc][^abc]部分。例如,允許整個(小寫)字母表需要以下字符類別:[a-z],[^a-z]

+0

感謝/^[abc] $ /做了很多非常感謝。 – Chrispaz

0

這一個會做的伎倆匹配只有一個字符:

^[a-zA-Z]$ 

如果你想匹配任何字符爲好,只需使用:

^[a-zA-Z]?$ 
+0

這是不正確的。這將匹配所有「abc」。 – sunnyrjuneja

+0

@SunnyJuneja善於指出,改變了答案。 –

0
def lengthGreaterThan1?(str) 
    if str =~ /.{2,}|^$/ 
    return "yes" 
    else 
    return "no" 
    end 
end 

假設你是將一個字符串傳遞給這個函數,沒有分隔符,它只會匹配長度爲一的字符串。

請注意/^$/匹配空白字符串和字符串「a b」失敗。

相關問題