代码之家  ›  专栏  ›  技术社区  ›  GSto

计算文本块中句子数的正则表达式[副本]

  •  6
  • GSto  · 技术社区  · 14 年前

    可能重复:
    PHP - How to split a paragraph into sentences.

    3 回复  |  直到 7 年前
        1
  •  2
  •   wheaties    14 年前

    Regex并不是解决这个问题的最佳方案。通过创建一个解析库,您会得到更好的服务。你可以很容易地创建逻辑块来区分一件事和另一件事。你需要想出一套规则,把文本分成你想看到的块。

    "Are you sure?" he asked.
    

    <start quote><capitalization>are you sure<question><end quote>he asked<period>
    

    用简单的规则就可以说“那是一句话”

        2
  •  1
  •   CrayonViolent    14 年前

    不幸的是,由于你所说的原因,没有完美的解决办法。如果内容是您可以在每个句子后以某种方式控制或强制指定分隔符的,那么这将是理想的。除此之外,你能做的就是寻找 (\.|!|?)+ 因为大多数人在上一句和下一句之间用1或2个空格填充新句子,所以在这之后可能还会加上一个\s。

        3
  •  0
  •   splash    14 年前

    我认为最大的问题是缩略语的可能存在!所以你必须使用 Prof.&nbsp;Knuth 在JavaDoc摘要语句中,这样JavaDoc生成器就不会认为第一个语句在 Prof. .