2013-02-08 66 views
1

目前我正在測試交換機上的提示字符串。用正則表達式測試字符串?

if (!parseCommand.contains("switch#") 

但我剛剛意識到,用戶可以更改名稱從開關到數字或字母的東西。但它總是以#結束。我應該怎麼做才能以更一般的方式來測試它?使用String.matches來測試#並回顧a-zA-Z0-9?

+1

好結局,你回答你的問題接近尾聲。是的,你需要使用'String.matches'。 –

+0

只是想知道是否是正確的方法。謝謝 – Paul

+1

在很多情況下,你可以用'\ w'來簡化'[a-zA-Z0-9]'''''' – Simon

回答

1

爲u說使用String.matches功能nly-可能這樣

parseCommand.matches("\\w+#$") 

這將確保它始終以 '#'

+0

爲什麼雙反斜槓?像這樣你可以逃避第二個反斜槓作爲角色,不是嗎? – Simon

+0

@Simon:單個反斜槓將是無效的轉義序列。您需要轉義反斜槓(在Java中)以將其用作一個反斜槓(在正則表達式中)。 – jlordo

+0

哦,是的,Java,沒有看問題標籤,我的壞。 – Simon

1
if (!parseCommand.matches ("\\w+#.*")) 
+1

''\ w +#$''會更合適嗎? _「它總是以#結尾」然而,_ – Simon

相關問題