0

请帮忙:

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

表达:

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

示例文本:

呼呼!!我们又熬过了一年。你相信吗?我几乎无法控制自己。这是一次颠簸的旅程。现在这一切都结束了。\r\n\r\n 成为一名出租车司机可以通过多种方式获得相当多的回报。世界上没有比这更好的了!\r\n\r\n 我结交了一些新朋友,并结识了几个老朋友。我结识了来自世界各地的新朋友,并在 12 小时内经历了各种各样的情况。\r\n\r\n今晚我玩得很开心,尽管我不禁想到今年在财务上对每个人来说都是多么令人失望。我记得有一次我们预订并带回家的次数是过去一天的 3-4 倍。巴迪是我最好的朋友。他是一个六岁半的小北京人,金发碧眼。从他只有三个月大的时候起,他就已经是这个家庭的一员了。当一组乘客来来去去时,他骑在前排乘客座位上。密切注视着窗外,密切注意我们要去哪里,我们在哪里。他会检查每个进入驾驶室的人

(目前它抓取文本直到这里)

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

(我希望它抓住文本直到这里)

凌晨 1 点 30 分左右,我穿过海洋大道。一辆面包车从我面前跑了出来。我猛踩刹车,避免了碰撞。巴迪没有系好安全带,整个人撞在了仪表板上,然后又掉到了地板上。他感到震惊和害怕。哎呀,我也是。我担心他受伤的程度比他头上的肿块和神经系统的不安还要严重。正是在这一刻,我决定是时候让巴迪回家休息了。我很高兴仪表板建得这么高,否则巴迪会遇到挡风玻璃。\r\n\r\n 你看,我觉得一切都是有原因的。有那么一刻,我的思绪开始旋转,只持续了几秒钟,我意识到我一定有充分的理由被派去接听我今晚所做的每一个人。我每天都带着使命出发。今天我会在正确的地方,在正确的时间,遇到正确的人,为了所有人的福祉。\r\n\r\n '我在每一个挑战中都看到了机会。' \r\n\r\n 这一天并没有改变我的挑战,这是肯定的。我知道我做得不如别人好,但做得比别人好。看来,根据统计数据,我可能已经达到了平均水平。如果你问我,总的来说我做得很好。只看大图。注意:这不是晚上的事件顺序。t 做得和别人一样好,但做得比别人好。看来,根据统计数据,我可能已经达到了平均水平。如果你问我,总的来说我做得很好。只看大图。注意:这不是晚上的事件顺序。t 做得和别人一样好,但做得比别人好。看来,根据统计数据,我可能已经达到了平均水平。如果你问我,总的来说我做得很好。只看大图。注意:这不是晚上的事件顺序。

4

3 回答 3

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

应该可以在找到相应的 \r\n 时工作,但只会将您想要的文本捕获到“文本”组中。

于 2012-09-06T15:41:49.410 回答
1

不需要正则表达式。尝试

mystring.Substring(0, mystring.LastIndexOf("\r\n", 1000));
于 2012-09-06T12:08:07.337 回答
0

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

于 2012-09-06T12:59:56.610 回答