2008-10-23 6 views
0

Я создаю библиотеку фильтров для класса проверки в PHP, некоторые из них используют регулярные выражения. У меня много фильтров в виду, но я также не хочу потенциально пропускать их. Что вы чаще всего используете для проверки регулярных выражений? Каковы некоторые из не столь распространенных вещей, которые вы должны были проверить, которые все еще будут полезны в библиотеке? Примечание. Я не ищу настоящий код регулярного выражения, для чего вы его используете.Каковы ваши наиболее распространенные применения для регулярных выражений?

ответ

4

Regex должен быть протестирован с ожидаемыми вариантами использования. Следовательно, может быть сложно разработать полную и общую библиотеку. Я бы нацелился на библиотеку функций, которые вам теперь нужны. Затем добавьте в этот список позже, когда у вас есть соответствующие тестовые примеры.

Тем не менее, вот некоторые общие случаи использования:

Числовые данные
Телефонные номера
Даты
Почтовые индексы
ПЛА

+0

Когда вы создаете свою библиотеку, не забывайте, что по крайней мере несколько вещей в этом списке зависят от языка. – EBGreen 2008-10-23 19:20:08

+0

Хорошая точка, EBGreen. Благодарю. – VirtuosiMedia 2008-10-23 19:23:11

1

так что вы ищете регулярных выражений типа мы использовать для проверки?

телефон (различные международные форматы), почтовый индекс, почтовый индекс, #s кредитной карты, адрес электронной почты, даты, цифры, номер социального страхования, адреса (HTTP, FTP, ...)

1

В дополнение к ответам Nescio в. ..

  • Пароли
  • адреса электронной почты
  • запрещая символы различных чартеры в текстовых полях, как не буквенно-цифровых символов
1

инъекции SQL атаки шаблоны

'[\s]*-- 

Пароль Сила

((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,255}) 
0

Большинство моего использования РЗ подправить данные, данные мне различными источниками в стандартном формате. Многое экспортирует Excel-документы как CSV или вкладку с разделителями, а затем запускает ряд преобразований RE в TextPad.

1

Мои основные варианты использования регулярных выражений являются:

  • растаскивания текст
  • выбора линии на входе
  • проверяющие форматы
  • анализирующая/дезинфицирующего вход
  • разборе
  • обеспечивает расширенную настройку (позволяет «настраиваемые конфигурации», ярлыки, ...)

Некоторые из этих вещей перекрываются. Но все это связано с человеческим вкладом. Машиночитаемый и удобочитаемый человек - это две разные вещи. Регулярные выражения помогают нам справляться с человеко-ориентированными (что мы знаем что-то), не нуждаясь в полной грамматике.

Смежные вопросы