正则表达式在点号|分号处分割,但忽略URL

时间:2019-03-07 17:27:51

标签: regex go

我正在尝试解析和匹配许多法律文本,将其全部拆分成单个句子。 我有以下正则表达式,只适用于几行简单的文本就可以了:

[^\.\!\?\;\n]*[\.\!\?\;\n](\s+)

!和?或在这里毫无吸引力。和;因为分隔符在我尝试使用的文本中很常见。问题是上面的正则表达式只是找到那些分隔符,后跟一个空格字符。 例如,以下文本将不正确匹配:

  

州法律或与卫生专业人员签订的合同   并遵守本段所述的条件和保障措施   3;出于该地区公共利益的考虑,有必要进行加工   公共卫生,例如防止严重越境   对健康的威胁或确保在   https://ec.europa.eu/ploteus/en/compare通过了7个可比   程序(例如认证/审核),并按要求进行注册   由成员国。卫生保健的质量和安全   药品或医疗器械,基于工会或会员   国家法律,该法律规定了适当且具体的措施   维护数据主体的权利和自由,尤其是   专业保密;正在处理...

以下整个部分:

  出于公共利益的考虑,

处理是必要的   公共卫生,例如防范严重的跨境威胁   健康或确保高标准的比较工具   https://ec.europa

根本不会匹配。

在改进上述正则表达式方面的任何帮助将不胜感激!

谢谢

1 个答案:

答案 0 :(得分:0)

我认为您想要的名称是句子标记器。对于Go,我可以推荐一个库:github.com/jdkato/prose,它应该像个魅力一样工作。

我个人从未使用过。祝你好运!