2009-06-27 4 views

ответ

4

(-?!) == отрицательный предпросмотр

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

7

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

(?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 строчных букв и цифр или дефиса, но первый символ не должен быть дефис.

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


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

^[a-z\d][a-z\d-]{0,99}$ 
1

RegexBuddy это хорошо, но это 3 месяца «tryware».

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

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

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

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

0

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