【问题标题】:Regex Statements Period After Uppercase Character大写字符后的正则表达式语句句点
【发布时间】:2021-02-24 19:49:37
【问题描述】:

出于文本转语音的目的,我需要删除大写字符后的句点。我可以识别句点,但它也在小写(句末)之后找到句点。我需要那些让它暂停。这是我的正则表达式语法。我以为大写字母只能找到那些而不是小写字母。

\.(?![A-Z]{2})

它会找到这些之后的句点。

“阿尔伯特 B.萨宾,医学博士。阿尔伯特 B.萨宾”

但也在句末。

“热带病区。”

任何帮助将不胜感激。

【问题讨论】:

  • 试试(?<=[A-Z])\.,但如果你的句子以大写字母结尾,它也会被匹配。
  • 你需要使用lookbehind,而不是lookahead。
  • 您将删除句子“办公室属于 Albert Sabin, MD”末尾的句点。
  • 做到了。我可以在句末使用大写字母。我想我不会经常看到这种情况。感谢 Wiktor 提供正确的语法以及所有回复!

标签: regex


【解决方案1】:

正如 cmets 中所指出的,您需要后视

/(?<=[A-Z])\./

https://regex101.com/r/bm1442/1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多