繁体   English   中英

正则表达式 - 字符类减法

[英]regex - character class subtraction

我想匹配空格和任何类型的标点字符,除了.

我正在尝试这个: ([^\\pP-[\\.]\\pZ])

但是没有用。 我需要使用捕获组。

字符类减法不是PCRE功能(PHP正则表达式风格)。

您可以改为编写: ([^\\PP.]|\\s) (添加u修饰符以将\\s字符类扩展到所有unicode空格并将字符串读取为UTF8)

这个想法是使用一种双重否定来排除点。 \\PP不仅仅是一个标点字符。 [^\\PP]匹配所有标点字符(如\\pP ),但这次你可以使用字符类否定[^...]来排除你想要的东西。

这将获得空白和所有符号/标点符号。

[^.\w]

http://regexr.com/3bddt

^用于排除其后面的字符。 所以[^。\\ w]说排除。 和所有单词字符,只留下符号和标点符号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM