Regex 使用现成的字符类并进一步限制它
Perl正则表达式中提供了许多现成的字符类,如Regex 使用现成的字符类并进一步限制它,regex,perl,unicode,Regex,Perl,Unicode,Perl正则表达式中提供了许多现成的字符类,如\d或\S,或新型Unicode Grokker,如 现在让我们假设我想匹配所有标点符号\p{p}(其中相当多,并且不是你想手工输入的东西)-除了一个以外,所有的都是好的旧komma(或逗号,,) 除了扩展handy character类和手动删除komma之外,还有什么方法可以指定此要求吗?试试这个 [^\P{P},] 这是一个否定字符类,它匹配除了列出的字符以外的所有字符 \p{p}否定\p{p} $ unichars -au '\p{P}'
\d
或\S
,或新型Unicode Grokker,如
现在让我们假设我想匹配所有标点符号\p{p}
(其中相当多,并且不是你想手工输入的东西)-除了一个以外,所有的都是好的旧komma(或逗号,,
)
除了扩展handy character类和手动删除komma之外,还有什么方法可以指定此要求吗?试试这个
[^\P{P},]
这是一个否定字符类,它匹配除了列出的字符以外的所有字符
\p{p}
否定\p{p}
$ unichars -au '\p{P}' | wc -l
598
双重否定:
/[^\P{P},]/
$ unichars -au '[^\P{P},]' | wc -l
597
“和”通过前向/后向:
/\p{P}(?<!,)/
$ unichars -au '\p{P}(?<!,)' | wc -l
597
/\p{p}(?)?
发现了一个非常类似的问题,基本上是相同的问题:太好了,谢谢!也非常有用:您指向unichars
脚本的链接。