Требуется простое регулярное выражение - PullRequest
0 голосов
/ 26 мая 2009

В своей жизни я никогда не использовал регулярные выражения, и на данный момент это похоже на глубокую лужу, в которую можно погрузиться. Тем не мение, Мне нужно регулярное выражение для этого шаблона (AN является буквенно-цифровым (a-z или 0-9), N является числовым (0-9) и A является буквенным (a-z)):

AN,AN,AN,AN,AN,N,N,N,N,N,N,AN,AN,AN,A,A

Это пять AN, за которыми следуют шесть N, за которыми следуют три AN, а затем, наконец, два A. Если это имеет значение, я использую язык Java.

Ответы [ 6 ]

7 голосов
/ 26 мая 2009
[a-z0-9]{5}[0-9]{6}[a-z0-9]{3}[a-z]{2}

должно работать на большинстве диалектов RE для задач, которые вы указали - большинство из них также будет поддерживать сокращения, такие как \d (цифра) вместо [0-9] (но если алфавит должен быть строчным, то Похоже, что вы запрашиваете, вам, вероятно, нужно прописать a-z части).

4 голосов
/ 26 мая 2009

Замените каждый AN на [a-z0-9], каждый N на [0-9], а каждый A на [a-z].

1 голос
/ 26 мая 2009

Для примера, который вы разместили, следующее должно работать нормально.

(([A-Za-z\d])*,){5}+(([\d])*,){6}+(([A-Za-z\d])*,){3}+([\d])*,[\d]*

В Java вы можете использовать его следующим образом:

boolean foundMatch = subjectString.matches("(([A-Za-z\\d])*,){5}+(([\\d])*,){6}+(([A-Za-z\\d])*,){3}+([\\d])*,[\\d]*");

Я использовал этот инструмент, чтобы помочь в изучении RegEx, он также делает это действительно простым. http://www.regexbuddy.com/

1 голос
/ 26 мая 2009

30 секунд в Expresso :

[a-zA-Z0-9]{5}[0-9]{6}[a-zA-Z0-9]{3}[0-9]{2}

Без учета регистра, но вы можете определить это в Java вместо регулярного выражения.

0 голосов
/ 26 мая 2009

Это должно соответствовать шаблону, который вы запрашиваете.

[a-z0-9]{5}[0-9]{6}[a-z0-9]{3}[a-z]{2}

Кроме того, вы можете добавить совпадения «Начало строки / конец строки», если совпадение строки не будет выполнено, если в нем есть другие символы:

^[a-z0-9]{5}[0-9]{6}[a-z0-9]{3}[a-z]{2}$
0 голосов
/ 26 мая 2009

Попробуйте взглянуть на несколько простых руководств по регулярным выражениям Java, таких как this

Они расскажут вам, как вы формируете регулярные выражения, а также как использовать его в Java.

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