Возможно ли генерировать регулярные выражения из введенной пользователем строки? Существуют ли библиотеки C# для этого?Reverse RegExp из введенной пользователем строки (C#)
Например, пользователь вводит строку, например. ABCxyz123 и код C# автоматически генерируют [A-Z] {3} [a-z] {3} \ d {3}. Это простая строка, но мы могли бы иметь более сложные строки, как
ПН-0123/AB/5678-AbC 2/7
Или
1234-678/абв :: 1234ABC? 246
У меня уже есть текстовый токенизатор (из предыдущего вопроса stackoverflow), поэтому я могу создать регулярное выражение из списка токенов.
Но мне было интересно, есть ли там код lib или C#, который сделает это.
Редактировать: Важно, Я должен был также сказать: это не фактический символ в строке, которая важна, но тип характера и сколько.
e.g Пользователь может ввести строку «шаблон» ABCxyz123.
Это будет интерпретироваться как
3 верхних альф регистра с последующим
3 строчных альфами с последующим
3 цифры
Таким образом, другие пользователи (когда соблюдены) необходимо ввести строки, сопоставить этот шаблон [AZ] {3} [az] {3} \ d {3}., например QAZplm789
Это формат вводится пользователем строки, которые нуждаются в проверке не фактическое содержание, если это имеет смысл
Как вы различаете, следует ли 'ABCxyc' разрешать' A-Za-z' или 'A-Cx-z'? – HimBromBeere
Что-то вроде этого было бы глупо делать, потому что это не сработало, потому что [AZ] {3} [az] {3} \ d {3} может быть значительно отличной строкой, а тот, который вы ввели, вам нужно будет создать много правил для это, и я не вижу смысла в этом, так как вы можете просто использовать регулярное выражение – Vajura
Думаете, вы неправильно поняли мой вопрос – Rory