Regex pcre字符类与范围内的字符不匹配

Regex pcre字符类与范围内的字符不匹配,regex,pcre,Regex,Pcre,8启用的pcre和我正在尝试匹配\p{Po}组加上一堆其他内容 我想排除符号和字符。如何将特定字符排除在类之外 -- lua btw local utf8_general_punctuation_reg = "[\\p{Po}\\p{Cc}\\p{Cs}\\p{Pc}\\p{Pe}\\p{Ps}\\p{Pf}\\p{Pi}\\p{Sm}\\x{2100}-\\x{2123}\\x{2600}-\\x{26ff}]+" 提前谢谢 顺便说一句,p{Po}代表utf8 只需从下面的答案中添加

8启用的pcre和我正在尝试匹配\p{Po}组加上一堆其他内容

我想排除符号和字符。如何将特定字符排除在类之外

-- lua btw    
local utf8_general_punctuation_reg = "[\\p{Po}\\p{Cc}\\p{Cs}\\p{Pc}\\p{Pe}\\p{Ps}\\p{Pf}\\p{Pi}\\p{Sm}\\x{2100}-\\x{2123}\\x{2600}-\\x{26ff}]+"
提前谢谢

顺便说一句,p{Po}代表utf8

只需从下面的答案中添加有用的内容:

local utf8_general_punctuation_reg = "[\\p{Po}\\p{Cc}\\p{Cs}\\p{Pc}\\p{Pe}\\p{Ps}\\p{Pf}\\p{Pi}\\p{Sm}\\x{2100}-\\x{2123}\\x{2600}-\\x{26ff}]+(?<!(&|\\.|:))"

localutf8\u general\u标点符号\u reg=“[\\p{Po}\\p{Cc}\\p{Cs}\\p{Pc}\\p{Pe}\\p{Ps}\\p{Pf}\\p{Pi}\\p{Sm}\\x{2100}-\\x{2123}\\x{2600}-\\x{26ff}+(?您可以使用反向查找,我不熟悉语法

[abc](?<!b)
[abc](?
正则表达式首先允许a、b或c,只需查看Unicode属性允许不同的字符,然后不允许具有负lookbehind的b字符


上面的正则表达式最后将匹配a和c,但不匹配b。

该语法与pcre语法兼容:)