0

現在、次の文字列をチェックしています。

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までが含まれている可能性があるため、これらを確認する必要があります。これを行う最も簡単な方法は何ですか?

1〜9のVLANに0〜3桁の数字を一致させるためにこれを試しましたが、何も見つかりません。

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")) {

これを試してみても何も見つからないのはなぜですか?

if(parseCommand.matches(".*vlan.*")。

4

1 に答える 1

1

;.matches("(?s).*vlan.*")によってキャッチされる改行文字に使用します。DOTALL.を参照してください。

于 2013-03-05T11:12:51.447 に答える