如何在C#中完成以下python正则表达式?
regex_split(u'(?<![A-ZА-ЯЁ])([.!?]"?)(?=\s+\"?[A-ZА-ЯЁ])')
它的作用的一般概念是将一串文本(多个段落和句子)分成一个数组。
INPUT:
我的名字是马克。我有一只猫,我生活在黑暗中。有时我会走到可怕的公园。&#34; &#34;它吓坏了我&#34;,她说。
输出:
[&#34;我的名字是Mark&#34;,&#34;。&#34;,&#34;我有一只猫,我生活在黑暗中&#34;,&#34;。& #34;,有时候我走到了可怕的公园&#34;&#34;,&#34;。\&#34;&#34;,&#34; \&#34;它吓坏了我她说&#34;,&#34;。&#34;]
我认为这是它的意图所在的一般概念。此外,如果有任何换行符,它也应该拆分。
我已经设法得到以下内容,但我也需要拆分新的一行,&#34; \ r \ n&#34;
Regex.Split(content, @"(?<!Mr?s?|\b[A-Z])\.\s*");
我怎样才能模仿c#中的python reg exp?
UPDATE 这是在python中使用reg exp进行的,所以我不明白为什么需要NLP
答案 0 :(得分:0)
匹配标点符号并将其拆分。
一种可能性:
using System.Text.RegularExpressions;
String content = "My name is Mark. I have a cat and I live in
the dark. Sometimes I walk to the \"scary park.\" \"It
terrifies me\", she said.";
Regex.Split(content, @"(\s*\n\s*)|(([.?!])(?:""|(?:\s+)|$))");
给出了:
string[9] { "My name is Mark", ".", "I have a cat and I live in the dark", ".", "Sometimes I walk to the \"scary park\", ".", "\"It terrifies me\", she said", ".", "" }