正则表达式及相关内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式及相关内容相关的知识,希望对你有一定的参考价值。

    一般而言,globing和 regular expression 区别在于前者匹配文件的名称,后者用于匹配文件中的内容。

    globbing中常用的元字符有:

*:任意长度的任意字符

?: 任意单个字符

[]:指定范围内的字符

[^]J:指定范围外的字符

    对于regular expression(简写为regexp)而言可分为basic regexp和extended regexp

basic regexp中元字符有

. :匹配任意单个字符

[]:匹配指定范围内的字符

[^]:匹配指定范围外的字符

    字符集合:[:digit:],[:lower:],[:upper:],[:punct:],[:alpha:],[:alnum:],[:space:]等

#真正使用还需添加[]来选定范围。

    匹配次数:

* :匹配其前面的字符任意次 包括0次 例如:a*b 表示 a出现任意次后有1个b

.* :任意长度的任意字符

#正则表达式工作在贪婪模式下,尽可能多的匹配


\?:匹配其前面的字符1次或0次


\{m,n\}:匹配其前面的字符至少m次,之多n次

\{1,\}:匹配至少1次  \{0,3\}:匹配至少0次,至多3次


位置锚定

^ :锚定行首,此字符串后面的任意内容必须出现在行首。

$:锚定行尾,此字符前面的任意内容必须出现在行尾。

^$:空白行

\<或者\b:其后面的任意字符必须作为单词首部出现 锚定词首

\>或者\b:其前面的任意字符必须作为单词尾部出现 锚定词尾

\<root\> = \broot\b


分组:

\(\): \(ab\)* ab作为一个整体 后向引用

\1 :第一个左括号以及与之对应的右括号所包括的所有内容

\2:


grep:使用基本正则表达式定义的模式来过滤文本的命令

-i:忽略大小写 -v:invert -o:only --color

-E:使用拓展的正则表达式

-A #:after 匹配并显示之后的#行

-B #:before

-C #:context (上下文)


拓展正则表达式:(不标注表示与基本含义相同)

字符匹配:

.

[ ]

[^]

次数匹配:

*:

?:

+:匹配其前面的字符至少1次

{ }

位置锚定:

^

$

\<

\>

分组:

():分组

\1,\2,\3

| :or  例如: grep ‘C|cat‘ file  和 grep ‘(C|c)at‘ file


{n}:n为数字,表示前面的表达式重复n次


本文出自 “11994222” 博客,请务必保留此出处http://12004222.blog.51cto.com/11994222/1853983

以上是关于正则表达式及相关内容的主要内容,如果未能解决你的问题,请参考以下文章

JAVA ----正则表达式基础及相关应用

通过正则表达式python爬取指定网页中的参数内容,保存到指定数据文件中

PHP正则表达式相关

linux的正则grep及egrep介绍

正则表达式及linux文本检查工具

shell及脚本3——正则表达式