正则表达式

如何用grep匹配汉字?

经验证[\u4e00-\u9fff]可以在vim中匹配中文字符。

:%g/[\u4e00-\u9fff]/d

上面的命令可以删除所有包含汉字的行。

ls  /tmp/test
ktop 1_001.png.bak
fonts.dir.bak
New
Screenshot from 2016-09-12 16:50:29.png.bak
你好

现在我想提取名称为汉字的文件。

ls  /tmp/test |grep -P  '[\x4e\x00-\x9f\xff]'  

该命令无法获取名称为中文字符的文件。
如何修复它?

ls /tmp/测试 | grep -v '[az]'可以得到它,但这就是我想要的。

答:

要仅匹配包含汉字的行(文件名),您可以使用[\p{Han}]

ls  /tmp/test | grep -P 

PERL(PCRE)和POSIX模式正则区别

POSIX 是 UNIX 遵循的标准, UNIX 的命令如 grep、sed 能用的正则是 POSIX。

PERL 正则在 POSIX 上做了扩展,实现了很多方便的功能。

举个匹配数字的例子,Perl 用 \d,POSIX 用 [0-9](POSIX 老版本,现在也有 \d 了)。

POSIX 里面还有“类”的概念,比如 [:digit:] 用来匹配数字, Perl 原先没有,后来支持 POSIX,也能用了。

PHP正则表达式教程

1、入门简介

 

简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具,主要用于字符串的模式分割、匹配、查找及替换操作。我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,PerlPHP脚本语言,以及awksed shell程序等。此外,象JavaScript这种客户端的脚本语言也提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。…

PHP5的正则表达式

简介

正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式、正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用 来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本 内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的在正则表达式引擎。正则表达式这个概念最初是由 Unix中的工具软件(例如sed和grep)普及开的。(摘自维基百科)…