【问题标题】:What does \p{P} mean? [duplicate]\p{P} 是什么意思? [复制]
【发布时间】:2018-05-12 01:22:57
【问题描述】:

所以,我正在使用正则表达式将句子转换为猪拉丁语,并决定扩展作业以允许标点符号。 我正在寻找一个正则表达式,它允许我用空字符串替换标点符号并找到 myString.replaceAll("\\p{P}", ""); 并且很好奇 \p 和 {P} 在这里实际做了什么。其他类似的问题使用"\\p{Z}" 替换空格,这让我认为 \p 正在搜索括号内的任何内容。

无论如何,对文档的任何澄清或说明将不胜感激。

【问题讨论】:

  • 不知道我是怎么错过的。谢谢
  • 如果我搜索 Javadocs,我找不到\p{P},只有\p{Punctuation}\p{Print}。同样,我搜索了应该回答这个问题的引用答案,也没有找到对\p{P}的引用
  • 链接的问题 ("What does this regex mean?") 没有特别提到标点符号 Unicode 类别,但确实指出 \p 用于 Unicode 类别,它解决了 \p 的含义(即在这个问题中问)。是否重复部分取决于此问题是否主要要求对\p 进行解释,或者“P”类别是什么(在这种情况下,此问题实际上是在问 2 个问题,其中一个是重复的) .

标签: java regex


【解决方案1】:

在 PCRE 正则表达式中

  • \p{P} 是“任何标点符号”
  • \p{Z} 是“任何空白字符”

请参阅右侧的“说明”部分:https://regex101.com/r/ZFIKpv/1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-21
    • 2012-11-28
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2020-05-14
    相关资源
    最近更新 更多