目前我檢查以下字符串:檢查字符串,正則表達式問題?
if(parseCommand.contains("vlan1") || parseCommand.contains("Fa0/1i")
|| parseCommand.contains("Fa0/1o") || parseCommand.contains("Fa1/0")
|| parseCommand.contains("Fa1/1") || parseCommand.contains("Fa1/2")
|| parseCommand.contains("Fa1/3") || parseCommand.contains("Fa1/4")
|| parseCommand.contains("Fa1/5") || parseCommand.contains("Fa1/6")
|| parseCommand.contains("Fa1/7") || parseCommand.contains("Fa1/8")
|| parseCommand.contains("Fa1/9") || parseCommand.contains("Fa1/11")
|| parseCommand.contains("Gi0")) {
//do things here
}
但是它可能包含VLAN1高達vlan4094,我必須檢查這些。什麼是最簡單的方法來做到這一點?
我曾經嘗試這樣做只是爲了匹配由0-3位folowed一個VLAN 1-9,但它並沒有發現任何東西:即使我嘗試這個沒有發現
if(parseCommand.matches(".*vlan[1-9](\\d){0,3}") || parseCommand.contains("Fa0/1i")
|| parseCommand.contains("Fa0/1o")|| parseCommand.contains("Fa1/0")
|| parseCommand.contains("Fa1/1") || parseCommand.contains("Fa1/2")
|| parseCommand.contains("Fa1/3") || parseCommand.contains("Fa1/4")
|| parseCommand.contains("Fa1/5") || parseCommand.contains("Fa1/6")
|| parseCommand.contains("Fa1/7") || parseCommand.contains("Fa1/8")
|| parseCommand.contains("Fa1/9") || parseCommand.contains("Fa1/11")
|| parseCommand.contains("Gi0")) {
,爲什麼呢?
3210)
它應該足夠'vlan [\\ d] {1,4}'我想。你能給一個示例命令來測試嗎? – Raffaele 2013-03-05 10:59:17
你喜歡什麼樣的命令?任何包含vlan1 - vlan4094的字符串,任何可以在 – Paul 2013-03-05 11:00:23
之前或之後出現的東西都可能會丟失。但我不確定你應該在正則表達式中有這些時間段嗎? – 2013-03-05 11:01:27