У меня нет большого опыта работы в Reg EX, и именно поэтому я отправляю этот вопрос. Это может быть очень тривиально для большинства из вас!RegEx: Найти совпадение на основе символов в строке
Я пишу свое приложение на C# и вам нужно найти определенные шаблоны соответствия в строках.
Струны я получаю выглядит что-то похожее на это,
610WBDFGFGM0122544 // (conditions 1 to 5)
XYZF44DT508755 // (condition 6)
T53497FD445 // (condition 7)
Приведенные выше строки только образцы того, что я получаю. Я получаю много разных комбинаций указанных строк с разными числами и алфавитами.
Теперь из данной строки мне нужно проверить определенные условия. Эти условия,
For given string,
ЕСЛИ первые 2 символа являются «60» и третий символ «0» или «2» и 4-й символ не «W» или «D» Тогда условие совпадения ,
IF первые 2 символа «61» И третий символ «0» или «2», а четвертый символ «W» или «D».
ЕСЛИ первые 2 символа являются «62» И третий символ не является «0» или «2» и 4-ый символ не является «W» или «D» Тогда условие совпадения.
IF первые 2 символа не «60» или «61» или «62» и третий символ не «0» или «2» и 4-ый символом является «W» или «D» Тогда условие совпадения ,
IF первые 2 символа не «60» или «61» или «62» И третий символ не является «0» или «2» и 4-ый символ не является «W» или «D», Тогда условие Матчи.
IF первые 3 символа «XYZ» И строка содержит «T50» ТОГДА соответствует условиям.
IF первые 2 символа «T5» И строка содержит «27» И конец строки с «5» ТОГДА соответствует условиям.
Любые предложения и ответы приветствуются!
UPDATE
Причина для использования регулярных выражений в данном случае, потому что, то можно экстернализация модели RegEx в файле вне и не содержит в исходном коде. Таким образом, когда возникает новое условие, легко добавить соответствующий RegEx во внешний файл без внесения каких-либо изменений в исходный код.
Я не смог добиться какого-либо прогресса в моем собственном RegEx.
У вас есть 7 не очень тяжелые случаи, которые могут быть сделаны с нормальными строками проверки. Почему это должно быть регулярное выражение? – Mitja
вы изучили 'string.Contains()' Method .. 'SubString() method' и предварительно сформировали некоторые условные проверки на основе Char или string в зависимости от подстроки .. у вас есть что-то, что вы начали или закодировали самостоятельно что вы могли бы нам показать ..? – MethodMan
Поскольку план состоит в том, чтобы вытеснить каждый шаблон RegEx за пределами исходного кода, а затем динамически перейти на проверку, таким образом нет необходимости изменять исходный код при возникновении нового СОСТОЯНИЯ. – donguy76