что означает это регулярное выражение? - PullRequest
0 голосов
/ 28 июня 2009
^(?!-)[a-z\d\-]{1,100}$

Ответы [ 4 ]

7 голосов
/ 28 июня 2009

Вот объяснение использования режима комментариев регулярного выражения, поэтому эта расширенная форма сама может использоваться в качестве регулярного выражения:

(?x)      # flag to enable comment mode
^         # start of line/string.
(?!-)     # negative lookahead for literal hyphen (-) character, so fails if the next position contains one.
[a-z\d\-] # character class matches a single alpha (a-z), digit (\d) or hyphen (\-).
{1,100}   # match the above [class] upto 100 times, at least once.
$         # end of line/string.

Короче говоря, он соответствует 100 строчным буквенно-цифровым цифрам или дефису, но первый символ не должен быть дефисом.

Возможно, вы пытаетесь подтвердить серийный номер или аналогичный, но он слишком общий, чтобы сказать наверняка.


Не все движки регулярных выражений поддерживают негативные взгляды. Если вы пытаетесь понять, что он делает, чтобы приспособиться к движку без негативных взглядов, вы можете использовать:

^[a-z\d][a-z\d-]{0,99}$
4 голосов
/ 28 июня 2009

(?! -) == негативный взгляд

в начале строки, за которой не следует a - который содержит по крайней мере от 1 до 100 символов, которые могут быть az или 0-9 или a -, за которым следует конец строки, хотя \ d в классе символов, вероятно, неверно и должен быть указан 0-9, в противном случае az заботится о символе 'd', зависит от аромата регулярного выражения.

1 голос
/ 28 июня 2009

RegExBuddy - это хорошо, но это 3-месячная «пробная версия».

Существует еще одна такая бесплатная программа, The RegEx Coach ,

Regex Coach - это графическое приложение для Windows, которое можно использовать для интерактивных экспериментов с (совместимыми с Perl) регулярными выражениями. Он имеет следующие особенности:

  • Показывает, соответствует ли регулярное выражение определенной целевой строке.
  • Он также может показать, какие части целевой строки соответствуют захваченным группам регистров или произвольным частям регулярного выражения.
  • Он может "проходить" через целевую строку по одному совпадению за раз.
  • Он может имитировать операторы разбиения и s /// (подстановки) в Perl.
  • Он пытается описать регулярное выражение на простом английском языке.
  • Может отображать графическое представление дерева разбора регулярного выражения.
  • Может выполнять пошаговое выполнение процесса сопоставления, выполняемого механизмом регулярных выражений.
  • Все происходит в «реальном времени», т. Е. Как только вы вносите изменения в приложение, все остальные части мгновенно обновляются.

И вы можете сделать пожертвование через PayPal, если хотите внести деньги.

0 голосов
/ 29 июня 2009

Строка букв, цифр и тире. От 1 до 100 символов. Первый символ не тире.

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