宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取
^[1-9]\d*$ //匹配正整数
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
先利用find 命令输出所有的文件名和文件夹名,然后用grep查找中文名
find . -type f 或者find . 输出所有的文件名。然后用下面的grep命令查找。
grep
-P, –perl-regexp PATTERN is a Perl regular expression
unicode中\u4e00-\u9fa5的中文,用grep
grep -P ‘[\x{4e00}-\x{9f5a}]’ test.log
当时使用\u的时候提示-P不支持\u \l等。
或者
grep -P ‘[\p{Han}]’ test.log
[\u4e00-\u9fa5]有什么用
javascript采用的是utf-16 的编码方案,就是两个字节,unicode 的表现形式就是 \uxxxx 。使用[\u4e00-\u9fa5]匹配中文,\u4e00 是unicode中第一个汉字的码点,\u9fa5 是unicode中最后一个汉字的码点。
'\u4e00' // '一'
'\u95a5' // '龥'
不过显然,最后一个码点似乎不对了。 查阅各版本unicode数据文档发现:
6.2-7.0 \u4e00 - \u9fcc
8.0-9.0 \u4e00 - \u9fd5
10.0 \u4e00 - \u9fea
11.0-12.1 \4e00 - \u9fef
13.0 \4e00 - \u9ffc
14.0 \4e00 - \u9fff
没看见 \u9fa5 从那个版本开始的,但至少8.0版本后,中文的最后一个码点移动到了 \u9fd5 。
更正的中文匹配方式 [\u4e00-\u9fff]
'龿龿'.replace(/[\u4e00-\u9fd5]/g, '') // ''
'你会不认识这几个字龦龯龿'.replace(/[\u4e00-\u9fd5]/g, '') // ''
万能的中文匹配方式 /\p{sc=Han}/gu
'龿龿'.replace(/\p{sc=Han}/gu, '') // ''
'你会不认识这几个字龦龯龿'.replace(/\p{sc=Han}/gu, '') // ''
中文字符
让我们再来考虑中文字符。
有一个 unicode 属性 Script
(一个书写系统),这个属性可以有一个值:Cyrillic
,Greek
,Arabic
,Han
(中文)等等,这里是一个完整的列表。
为了实现查找一个给定的书写系统中的字符,我们需要使用 Script=<value>
,例如对于西里尔字符:\p{sc=Cyrillic}
, 中文字符:\p{sc=Han}
,等等。
补充
文档数据可以在unicode官网查看: