【问题标题】:What is a regular expression for parsing out persian individual sentences?解析波斯语单个句子的正则表达式是什么?
【发布时间】:2015-11-13 02:37:43
【问题描述】:

我正在寻找一个好的 .NET 正则表达式,可用于从波斯语文本中解析出单个句子。
所以我想使用一种模式来进行拆分,例如 . ؟ ! ؛ 跟随空格而不是拆分。
在波斯语中没有大写字母,问号是؟,它是从右到左的语言。 看看这个例子,它有 4 个句子:

start of

thow了یییییهههییییو久已بروی به دقیقه 91؛ به‌جایی که با تمام شنیده‌هایت فرق دارد。 بروی به مرز بین دنیا و آخرت، به‌جایی که عروجیان راتطهیر هیر آرایش برای وصرال یا

我发现这个问题很有用What is a regular expression for parsing out individual sentences?,这是英语的正则表达式

    Regex rx = new Regex(@"(\S.+?[.!?])(?=\s+|$)");
foreach (Match match in rx.Matches(str)) {
    int i = match.Index;
    Console.WriteLine(match.Value);
}

【问题讨论】:

    标签: c# regex nlp text-processing


    【解决方案1】:

    这个怎么样:DEMO

    ([^!؟.؛]+[؟.؛!])
    

    匹配不包含这些字符的所有内容,然后是标点符号?

    【讨论】:

    • 谢谢,但它会删除 .؟!؛也来自结果。我想把它们放在结果句中
    • 我认为这里不正确的正则表达式是例外:Additional information: parsing "([^!؟.؛!]?+[؟.؛])" - Nested quantifier +
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    相关资源
    最近更新 更多