前端之家收集整理的这篇文章主要介绍了
(grep)正则表达式匹配非ASCII字符?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Linux上,我有一个包含大量
文件的目录。其中一些有非ASCII字符,但它们都是有效的
UTF-8.一个程序有一个
错误,阻止它使用非ASCII
文件名,我必须找出有多少受到影响。我将这样做与find,然后做一个
grep打印非ASCII字符,然后做一个wc -l来找到该数字。它不必是grep;我可以使用任何标准的Unix
regular expression,如
Perl,
sed,
AWK等。
但是,是否有一个正则表达式“任何字符不是ASCII字符”?
这将匹配单个非ASCII字符:
[^\x00-\x7F]
这是一个有效的PCRE(Perl兼容的正则表达式)。
你也可以使用POSIX shorthands:
> [[:ascii:]] – 匹配单个ASCII字符
> [^ [:ascii:]] – 匹配单个非ASCII字符
[^ [:print:]]可能就足够了。**