В данный момент я пытаюсь сопоставить шаблоны, такие как
text text date1 date2
Так что у меня есть регулярные выражения, которые делают именно это. Однако проблема, например, заключается в том, что, если пользователи вводят данные, скажем, больше, чем 1 пробел, или если они помещают часть текста в новую строку и т. Д., Шаблон не выбирается, потому что он не точно соответствует набор шаблонов.
Есть ли более надежный способ сопоставления с образцом? Цель состоит в том, чтобы сделать его очень простым для пользователя, но сделать его легко сопоставимым с моей стороны. Я собирался убрать все пробелы / переводы строк и т. Д., А затем попытаться сопоставить шаблон без пробелов, т.е. texttextdate1date2
.
Кто-нибудь есть лучшие решения?
Обновление
Вот небольшой пример схемы, которой мне нужно соответствовать:
FIND me@test.com 01/01/2010 to 10/01/2010
Вот мое текущее регулярное выражение:
FIND [A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4} [0-9]{1,2}/[0-9]{1,2}/[0-9]{2,4} to [0-9]{1,2}/[0-9]{1,2}/[0-9]{2,4}
Это нормально работает в 90% случаев, однако, если пользователи отправляют эту информацию по электронной почте, она может иметь все различные виды форматирования и HTML, который меня не интересует. Я использую комбинацию HtmlAgilityPack и HTML-тег, удаляющий регулярное выражение для удаления всего HTML-кода из электронной почты, но даже при этом я не могу найти совпадения в некоторых случаях.
Я полагаю, что это может быть более сложный вопрос, чем сопоставление с образцом, но я думаю, что, возможно, есть лучший способ сделать это ...