проверить файл Java - PullRequest
       5

проверить файл Java

1 голос
/ 24 марта 2011

У меня есть плоский файл, такой как:

A 10
S 20
W A 20 10
S A 45 10
S W S 20 20 20 30
W A S 22 50 20 55

Я хочу убедиться, что он правильно сформирован (отделен пробелом ""), и допускается только регулярное выражение вроде:

anyword* then " " then (word*|numbers*)*

, где * - любое количество слов
, но есть и одна проблема,

  • , если есть только одно слово или символ, есть только одно число
  • если есть 2 слова или символы, разделенные "", то должны быть 2 числа, разделенные ""
  • , если есть 3 слова или символы, разделенные "", то должны быть 4 числа, разделенные ""

Я делал что-то подобное, но не знаю, где включить проверку строки

try {
      input = new BufferedReader(new FileReader(new File(filename)));
      String line = null;
      while ((line = input.readLine()) != null) {
           String[] words = line.split(" ");
       if (words.length == 2) {

           }
     }  
 }

1 Ответ

1 голос
/ 24 марта 2011

Это регулярное выражение должно делать это:

^[a-z]+ (?:\d+|[a-z]+(?: \d+ \d+| [a-z]+(?: \d+){4}))$

Я пытался сделать его как можно короче, но может быть возможно сжать его немного больше.Это следует использовать с включенной чувствительностью к регистру или вы должны изменить все значения [a-z] на [a-zA-Z].

Вот это Rubular .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...