一、正则表达式概述 什么是正则表达式
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
二、什么是正则表达式
一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。
用于特定的字符格式检测:
详见:
三、正则表达式不是以X开头怎么写
上面的^[^X]只能匹配一行第一个字符,要匹配不是X开头的整行可以写成:
^[^X].*$
或
^(?!X).*$
四、正则表达式.+?
就是在保证整个正则能够匹配的情况下,贪婪是尽可能多的匹配,非贪婪是尽可能少的匹配。举几个例子。
比如字符串fsafdsafdsafdsa,如果正则是.+的话,那就是匹配全部,而如果是.+?的话,只匹配第一个字符。这种情况下,两者最后匹配的内容是不同的,因为+是匹配1个以上,1个就可以匹配,但是也可以全部匹配,在怎么样都能匹配的情况下,非贪婪和贪婪的区别就看出来了。
但是有时,他们两个匹配的内容是相同的,比如aaaaaaaab,对于正则.+b和.+?b来说,两者的匹配内容就是相同的。因为要保证能够匹配的话,b必须匹配,所以.必须从第一个a开始一直匹配到最后一个a才可以。你可能疑惑为什么不是前者匹配aaaaaaaab,后者匹配ab。这就涉及到正则匹配的原理了,它是从左向右匹配,因为在第一个a处向右可以匹配成功,正则直接就返回了,不会从最后一个a处开始匹配。
五、易语言里,“正则”是什么意思?
正则,是正则表达式,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。


- 相关评论
- 我要评论
-