首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >(grep)匹配非ASCII字符的正则表达式?

(grep)匹配非ASCII字符的正则表达式?
EN

Stack Overflow用户
提问于 2010-01-24 01:34:28
回答 6查看 165.9K关注 0票数 192

在Linux上,我有一个目录,里面有很多文件。其中一些包含非ASCII字符,但它们都是有效的UTF-8。有一个程序有一个bug,导致它无法处理非ASCII文件名,我必须找出有多少个程序受到了影响。我打算用find执行此操作,然后执行grep以打印非ASCII码字符,然后执行wc -l以查找数字。它不一定是grep;我可以使用任何标准的Unix regular expression,比如PerlsedAWK等。

但是,有没有一个正则表达式来表示“任何不是ASCII字符的字符”?

EN

回答 6

Stack Overflow用户

发布于 2012-11-19 17:18:39

不,[^\x20-\x7E]不是ASCII码。

这是真正的ASCII:

代码语言:javascript
复制
 [^\x00-\x7F]

否则,它将删除ASCII表中的换行符和其他特殊字符!

票数 40
EN

Stack Overflow用户

发布于 2016-03-03 11:53:47

[^\x00-\x7F][^[:ascii:]]遗漏了一些控制字节,所以strings有时可能是更好的选择。例如,cat test.torrent | perl -pe 's/[^[:ascii:]]+/\n/g'将对您的终端做一些奇怪的事情,而as strings test.torrent将会表现出来。

票数 3
EN

Stack Overflow用户

发布于 2018-05-31 03:28:33

要验证文本框,请仅使用此模式接受Ascii

[\x00-\x7F]+

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2124010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档