正则表达式 - 字符 class 减法
regex - character class subtraction
我想匹配空格和除 .
之外的任何标点符号。
我正在尝试这个:
([^\pP-[\.]\pZ])
但是没有用。我需要使用捕获组。
字符 class 减法不是 PCRE 功能(PHP 正则表达式风格)。
您可以改为这样写:([^\PP.]|\s)
(添加 u
修饰符以将 \s
字符 class 扩展到所有 unicode white-空格并将字符串读取为 UTF8)
想法是使用一种双重否定来排除点。 \PP
是所有不是标点符号的字符。 [^\PP]
匹配所有标点字符(如\pP
)但是这次你可以使用字符class否定[^...]
来排除你想要的。
这会让你得到空格和所有 symbols/punctuation。
[^.\w]
^用于排除后面的字符。所以 [^.\w] 说 exclude 。和所有单词字符,只留下符号和标点符号
我想匹配空格和除 .
之外的任何标点符号。
我正在尝试这个:
([^\pP-[\.]\pZ])
但是没有用。我需要使用捕获组。
字符 class 减法不是 PCRE 功能(PHP 正则表达式风格)。
您可以改为这样写:([^\PP.]|\s)
(添加 u
修饰符以将 \s
字符 class 扩展到所有 unicode white-空格并将字符串读取为 UTF8)
想法是使用一种双重否定来排除点。 \PP
是所有不是标点符号的字符。 [^\PP]
匹配所有标点字符(如\pP
)但是这次你可以使用字符class否定[^...]
来排除你想要的。
这会让你得到空格和所有 symbols/punctuation。
[^.\w]
^用于排除后面的字符。所以 [^.\w] 说 exclude 。和所有单词字符,只留下符号和标点符号