2012-02-29 3 views
0

Как я могу получить глобальный Regex в одной строке, а не в коллекцииRegex глобального без коллекции C#

Regex r = new Regex(".+"); 
Match match = r.Match("aaaa \r\n bbbb"); 
string result=match.Value; 

я получаю: result="aaaa " и я хочу: result="aaaa \r\n bbbb" Я знаю, что я могу получить, что в коллекции, но мне нужно получить это в формате Match.

ответ

3

. не соответствует линейным разрывам, если только вы этого не сделаете.

Вы можете использовать (?s) для этого, как: new Regex("(?s).+")

Или Singleline варианта, как: new Regex(".+", RegexOptions.Singleline)

2

Точка не соответствует новым строке символы по умолчанию, так что вам нужно скомпилировать регулярное выражение, используя RegexOptions.Singleline флаг:

Regex r = new Regex(".+", RegexOptions.Singleline); 
Смежные вопросы