Регулярные выражения, выделение абзаца
От: Аноним  
Дата: 13.10.09 11:10
Оценка:
вот пример кода :

            Regex rex = new Regex("\\s*(\\r*)(\\n+)(\\s*)(\\r*)");
            string[] substrings = rex.Split( "тест\r\n \r\nтест");


то есть "говорим" что в начале может следовать любой пробельный символ либо вообще отсуствовать \\s*, за ним может следовать символ \r возврат каретки или вообще отсуствовать (\\r*)
затем должен быть обязательно 1 или более символов \n за которыми могут следовать опять же пробельные символы или возврат каретки или могут отсутствовать ( ставим * )

нужно получить в результате

substrings[0] : "тест";
substrings[1] : "тест";


но получается следующее :

substrings[0] : "тест";
substrings[1] : "";
substrings[2] : "\n";
substrings[3] : "";
substrings[4] : "";
substrings[5] : "тест";


в чем ошибка ?
Re: Регулярные выражения, выделение абзаца
От: Neir0  
Дата: 13.10.09 13:26
Оценка:
Здравствуйте, Аноним, Вы писали:


А>вот пример кода :


А>
А>            Regex rex = new Regex("\\s*(\\r*)(\\n+)(\\s*)(\\r*)");
А>            string[] substrings = rex.Split( "тест\r\n \r\nтест");
А>


А>то есть "говорим" что в начале может следовать любой пробельный символ либо вообще отсуствовать \\s*, за ним может следовать символ \r возврат каретки или вообще отсуствовать (\\r*)

А>затем должен быть обязательно 1 или более символов \n за которыми могут следовать опять же пробельные символы или возврат каретки или могут отсутствовать ( ставим * )

\s это whitespace символ, который включают и \r и \n
Re: Регулярные выражения, выделение абзаца
От: Caracrist https://1pwd.org/
Дата: 13.10.09 18:28
Оценка:
Здравствуйте, Аноним, Вы писали:


А>вот пример кода :


А>
А>            Regex rex = new Regex("\\s*(\\r*)(\\n+)(\\s*)(\\r*)");
А>            string[] substrings = rex.Split( "тест\r\n \r\nтест");
А>


всё намного проще
Regex rex = new Regex(@"\s*\s(?<=\n\s*)");


~~~~~
~lol~~
~~~ Single Password Solution
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.