шаблон регулярного выражения - PullRequest
2 голосов
/ 24 июня 2010

Я хочу сопоставить это:

  • восемь (8) буквенно-цифровых символов
  • , за которыми следует - дефис
  • , за которыми следует двадцать двух (22) буквенно-цифровых символов, здесьэто то, что я пытался, и это не соответствует:

[8]\w+-[22]\w+

Ответы [ 4 ]

5 голосов
/ 24 июня 2010

Должно быть:

\w{8}-\w{22}

[8] соответствует одному символу - литерал 8, а [22] соответствует одному литералу 2.

Обратите внимание, что \w также позволяетнижнее подчеркивание.Если это проблема, используйте

[a-zA-Z0-9]{8}-[a-zA-Z0-9]{22}

Хороший совет от Тима: если вы хотите, чтобы tp захватывал шаблон из файла или строки, вы, вероятно, захотите добавить \b - границу слова, чтобы избежать частичнойсоответствия.Например, если вы хотите использовать формат 2-4 12-1234, первый участник будет соответствовать 1234-1234567:

\b\w{8}-\w{22}\b
1 голос
/ 24 июня 2010

Синтаксис регулярного выражения зависит от языка, который вы используете.

[A-Za-z0-9] {8} - [A-Za-z0-9] {22}

Обратите внимание, что \ w соответствует подчеркиванию

1 голос
/ 24 июня 2010

Может быть \w{8}-\w{22}?

1 голос
/ 24 июня 2010

Вы хотите использовать

\w{8}-\w{22}

В большинстве языков регулярных выражений \ w будет соответствовать символу слова.

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