Я хочу перехватить слово «назначение» только в том случае, если оно найдено в начале строки, а строка заканчивается после этого слова. После слова «назначение» может быть ноль или более пробелов и такие символы, как: или # или - might пришел.
Например, следующие строки должны соответствовать
Assignments
или
Assignments :
или
assignments
Где как, следующая строка не должна совпадать
The details of various assignments that I have ...
Я получаю следующую строку из одного файла, который содержит два вхождения слова «назначение».
Ab Initio\r\r\a\r\a\v\r\r\fAssignments\rThe details of the various assignments that I
Я написал следующее регулярное выражение, но оно ничего не может захватить:
^Assignments(\s|:|-|#)*?$
Когда я пишу регулярное выражение, как показано ниже, оба случая «назначения» выбираются:
Assignments(\s|:|-|#)*?($)?
Есть догадки? Что я должен делать?
Я использую C # для этого.
Мой код C # выглядит следующим образом:
RegEx x = new Regex(@"^Assignments(\s|:|-|#)*?$", RegexOptions.IgnoreCase | RegexOptions.Multiline);
output = x.Replace(inputText, "@@@@@@@@@@@@@@@@\r\n<project_details>$&");
if (x.IsMatch(inputText))
{
Match m = x.Match(inputText);
Console.WriteLine("\n\n\t~~~~~~~~~~ match found ~~~~~~~~~~~");
Console.WriteLine(m.Index +" : " + m.Value);
Console.WriteLine("\n\n\n\n" + output);
}
else
{
Console.WriteLine("$$$$$$$$$$$$$ no match %%%%%%%%%%%%%%");
}
Только что я проверил мою строку ввода.
Исходные строки в файле выглядят следующим образом:
Assignments
The details of various assignmenths that I ...
Но когда я загружаю файловый поток в одну строковую переменную,
Я получаю такую же строку, как это:
\r\r\a\r\a\v\r\r\fAssignments\rThe details of the various assignments that I
Кто-нибудь знает, что происходит? Как мне сформулировать свое регулярное выражение?
Пожалуйста, помогите !!!!