Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
566 views
in Technique[技术] by (71.8m points)

.net - C# Regex find string between two strings with newLine

Here is my regex: Regex r = new Regex("start(.*?)end", RegexOptions.Multiline);

That means I want to get the stuff between "start" and "end". But the problem is that between start and end is a new line or and the regex doesn't return anything.

So how do I make regex find ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The name of the Multiline option is misleading, as is the one of the correct option - Singleline:

Regex r = new Regex("start(.*?)end", RegexOptions.Singleline);

From MSDN, RegexOptions Enumeration:

Singleline - Specifies single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except ).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...