Регулярное выражение для байтов, разделенных: проблема - PullRequest
1 голос
/ 05 мая 2011

У меня на входе hex четыре байтовых значения, разделенных: (что-то вроде aabbccdd: ffffffff: aaccbbff). Как построить регулярное выражение в Java, которое даст ответ, если ввод в правильном формате или нет?

Ответы [ 3 ]

6 голосов
/ 05 мая 2011

Как насчет этого?

String value = "aabbccdd:ffffffff:aaccbbff";
boolean match = value.matches("\\p{XDigit}{8}(:\\p{XDigit}{8})*");
// ...

Кстати, \p{XDigit} равно [0-9a-fA-F].См. Также java.util.regex.Pattern javadoc .

1 голос
/ 05 мая 2011

Вы можете попробовать это для произвольных последовательностей по 4 байта: [0-9a-fA-F]{8}(:[0-9a-fA-F]{8})*

1 голос
/ 05 мая 2011

Вы ищете это: ^([0-9a-fA-F]{8}:)*([0-9a-fA-F]{8})$

Необязательно 8 шестнадцатеричных цифр, за которыми следует двоеточие (:). Окончание с группой без двоеточия. Вероятно, способ уменьшить RegEx.

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