正则表达式首先提取+ - n字符,但也包括其余字符,直到行尾

时间:2012-09-06 11:50:53

标签: c# regex

请帮助:

我有以下表达式,它检索字符串的前1000个字符,直到单词的结尾,但是我希望它直到行尾(\ r \ n)才能抓取文本?

表达式:

System.Text.RegularExpressions.Regex.Match(mystring, @"^.{1,1000}\b(?<!\s)").Value

示例文字:

  

Whoo Hoo !!我们度过了另一年。你相信吗?我可以   几乎没有自己。这是一个坎坷的旅程。现在全部   结束了。\ r \ n \ r \ n作为出租车司机可能会非常有价值   多种方式。世界上没有这样的东西!\ r \ n \ r \ n我   结交了一些新朋友并找到了几个旧朋友。我遇到了新的   来自世界各地的人们经历了各种各样的花园   整个12小时的情况。 \ r \ n \ r \ nTonight我有很多   有趣,虽然我不禁想到它是多么令人失望   每个人,在经济上,今年。我记得我们想要的时候   已经预订并带回家的次数比我们做的多3-4倍   过去的一天。巴迪是我最好的朋友。他是一个小的,金发碧眼的,六个和一个   半岁的Pekingese。他从那时起就一直是这个家庭的一员   只有三个月大。他骑在前排乘客座位上   一组乘客来来往往。强烈地看着窗外   并密切关注我们的去向和我们所处的位置   在。他会检查每个进入驾驶室的人

(目前它将文本抓到这里)

  

只是看着他们。他正在享受新的一年!\ r \ n \ r \ n

(我希望在此之前抓住文字)

  

凌晨1:30左右,我穿过海洋大道。一辆面包车跑到了前面   我。我猛烈抨击休息并避免碰撞。巴迪不是   他的整个身体撞到了仪表板然后他   落入地板。他感到震惊和害怕。哎呀,我是   太。我担心他的受伤比他头上的撞击更糟   和他心烦意乱的神经系统。就在这时我决定了   是时候让巴迪回家休息了。我很高兴破折号   建造得如此之高,否则巴迪会遇到防风罩。\ r \ n \ r \ n   你看,我觉得一切都是有原因的。有一刻我的   头脑开始旋转,只持续了几秒钟,我意识到   有一个很好的理由我必须被派去接每个人   我今晚所做的每一个人。我每天出发   一个任务。今天,我会在适当的时间到达正确的地方   遇到合适的人,为了所有人的改善。 \ r \ n \ r \ n'我明白了   每次挑战都有机会。' \ r \ n \ r \ n这一天没有做空   改变我的挑战,这是肯定的。我知道我没有这样做   和其他人一样,但比其他人做得更好。据说,似乎   静力学,我可能已经平均化了。总而言之,如果我做得很好   你问我。看看大局。注意:这不是订单   当晚的事件。

3 个答案:

答案 0 :(得分:2)

"^(?<text>.{1,1000}[^\\]*)\\r\\n"

应该可以找到相应的\ r \ n,但只能将所需的文本捕获到“text”组中。

答案 1 :(得分:1)

不需要正则表达式。尝试

mystring.Substring(0, mystring.LastIndexOf("\r\n", 1000));

答案 2 :(得分:0)

\ r和\ n是正则表达式中的特殊“字符”,分别用于,如您所料,回车和换行;所以:让你的正则表达式扫描直到\ r \ n