加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何从输入中获取句号?

发布时间:2020-12-14 06:23:16 所属栏目:百科 来源:网络整理
导读:在文本中检测句子边界似乎很难.引号如.!?可能用于分隔句子但不准确,因为可能有歧义的词和引文,如美国或教授或博士我正在研究Tperl regex库和正则表达食谱 Jan Goyvaerts但我不知道如何编写检测表达式句子? 在delphi中使用Tperlregex可能是比较准确的表达
在文本中检测句子边界似乎很难.引号如.!?可能用于分隔句子但不准确,因为可能有歧义的词和引文,如美国或教授或博士我正在研究Tperl regex库和正则表达食谱 Jan Goyvaerts但我不知道如何编写检测表达式句子?

在delphi中使用Tperlregex可能是比较准确的表达式?

谢谢

首先,您可能需要达到自己对“句子”的定义,然后实现该定义.例如,怎么样:
He said: "It's OK!"

是一两句话吗?一般答案是无关紧要的.决定是否要将其解释为一个或两个句子,并相应地进行.

其次,我不认为我会使用正则表达式.相反,我会扫描每个字符并尝试检测序列.一个句子本身可能不足以划分一个句子,但是一个句子后跟空格或回车(或字符串的结尾)可能就是这样.这会立即让你淘汰美国(没有空格的时期).

对于Prof. a Dr.这样的常见缩写,创建一个字典可能是一个好主意 – 也许可以由用户编辑,因为每种语言都有自己的一组常用缩写.

每种语言也都有自己的标点符号规则,这可能会影响标点符号的解释方式.例如,英语倾向于在括号内放置句号(如此),而波兰语则相反(如此).相同的区别将适用于双引号,单引号(某些语言根本不使用它们,有时它们与撇号等无法区分).您的规则可能必须特定于语言,至少部分是这样.

最后,你可能会用人类的方式来界定句子,但总会有一些案例可以抛出分析.例如,假设您有一个识别“Prof.”的字典.作为缩写,你打算做什么

Most people called him Professor Jones,but to me he was simply The Prof.

即使你有一个跟随并以大写字母开头的另一个句子,这仍然无法帮助你知道句子在哪里结束,因为它可能也是

Most people called him Professor Jones,but to me he was simply Prof. Bill.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读