C# .NET RegEx - как найти, какие символы в строке не соответствуют шаблону регулярного выраженияC#

Место общения программистов C#
Ответить
Anonymous
 C# .NET RegEx - как найти, какие символы в строке не соответствуют шаблону регулярного выражения

Сообщение Anonymous »

Имея этот шаблон регулярного выражения (в С#):

Код: Выделить всё

^\d{2}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}$
эта строка будет соответствовать:

Код: Выделить всё

11/10/25 17:22:31
но этого не будет (у него просто добавлена ​​буква "X")

Код: Выделить всё

X11/10/25 17:22:31
этот тоже:

Код: Выделить всё

11/10/25 X17:22:31
Есть ли способ узнать, когда строка не соответствует шаблону, какие части строк делают ее несоответствующей? (т. е. найти символы, которые, если их удалить, будут соответствовать регулярному выражению)
Итак, как в этом случае найти «X»?
Почему я этого хочу:
Я читаю кучу текстовых файлов, где каждая строка должна соответствовать шаблону. Но я обнаружил, что во многих случаях файл кажется каким-то образом поврежденным, и где-то в некоторых строках случайно добавляется какой-то символ, что делает его не соответствующим регулярному выражению. На данный момент я просто игнорирую эти строки как недействительные, но пытаюсь выяснить, не соответствует ли строка только потому, что где-то есть один «незаконный» символ, так что просто удалив этот символ, регулярное выражение будет соответствовать шаблону, и тогда я смогу считать его действительным.
Надеюсь, это объяснение имеет смысл...

Подробнее здесь: https://stackoverflow.com/questions/797 ... to-not-mat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»