【发布时间】:2021-02-24 19:49:37
【问题描述】:
出于文本转语音的目的,我需要删除大写字符后的句点。我可以识别句点,但它也在小写(句末)之后找到句点。我需要那些让它暂停。这是我的正则表达式语法。我以为大写字母只能找到那些而不是小写字母。
\.(?![A-Z]{2})
它会找到这些之后的句点。
“阿尔伯特 B.萨宾,医学博士。阿尔伯特 B.萨宾”
但也在句末。
“热带病区。”
任何帮助将不胜感激。
【问题讨论】:
-
试试
(?<=[A-Z])\.,但如果你的句子以大写字母结尾,它也会被匹配。 -
你需要使用lookbehind,而不是lookahead。
-
您将删除句子“办公室属于 Albert Sabin, MD”末尾的句点。
-
做到了。我可以在句末使用大写字母。我想我不会经常看到这种情况。感谢 Wiktor 提供正确的语法以及所有回复!
标签: regex