Regex, чтобы сравнить строку и посмотреть, где разница
Я создаю регулярное выражение для проверки правильности форматирования информации об авторских правах в верхней части всех документов.
Право на копирование длинное, поэтому мое регулярное выражение тоже длинное.
Допустим, информация об авторских правах выглядит так:
/*/////////////////////////////////////////////////////////////////////////
Copyright content which is a lot goes in here.
Programmer: Tono Nam
/////////////////////////////////////////////////////////////////////////*/
Тогда я буду использовать регулярное выражение:
var pattern =
@"/\*/////////////////////////////////////////////////////////////////////////
Copyright content which is a lot goes in here.
Programmer: (?<ProgammerName>[\w '\.]+)
/////////////////////////////////////////////////////////////////////////\*/";
Если я применю регулярное выражение к первому тексту, это даст мне совпадение, все отлично.the problem is when the regex does not matches Допустим, программист установил дополнительную/
на вершине. Мое регулярное выражение больше не будет соответствовать. В этом примере это легко заметить, но реальное авторское право намного длиннее, и было бы хорошо узнать, где находится ошибка. Или иногда есть ошибочные ошибки.For example you might encounter Programer instead of Programmer. Just because of that I will have to look into the whole copyright and try to discover the error. I think there should be a simpler way of doing what I need
редактировать
Если тема оказывается:
/*/////////////////////////////////////////////////////////////////////////
Copyright content which is a lot goes in here SOME_MISPELED_WORD.
Programmer: Tono Nam
/////////////////////////////////////////////////////////////////////////*/
тогда регулярное выражение не будет совпадать из-заSOME_MISPELED_WORD
поэтому я хотел бы знать индекс, где произошла ошибка, чтобы я мог посмотреть:
/*/////////////////////////////////////////////////////////////////////////
Copyright content which is a lot goes in here <-------------- here
вместо всего этого.
Другой пример будет, если информация об авторских правах:
/*/////////////////////////////////////////////////////////////////////////
Copyright content which is a lot goes in here.
Programmer: Tono Nam
//////////////////////////////////////////////////////////////////////////*/
Я хотел бы получить ошибку в последней строке, потому что есть дополнительная/
.