如何迅速准确正则表达式?

5个月前 (10-09 19:22)阅读5回复0
yk
yk
  • 管理员
  • 注册排名3
  • 经验值140125
  • 级别管理员
  • 主题28025
  • 回复0
楼主

  开篇,仍是得说说 ^ 和 $ 他们是别离用来婚配字符串的起头和完毕,以下别离举例申明:

"^The": 开头必然要有"The"字符串;

"of despair$": 结尾必然要有"of despair" 的字符串;

那么,

"^abc$": 就是要求以abc开头和以abc结尾的字符串,现实上是只要abc婚配。

"notice": 婚配包罗notice的字符串。

你能够看见若是你没有用我们提到的两个字符(最初一个例子),就是说 形式(正则表达式) 能够呈现在被查验字符串的任何处所,你没有把他锁定到两边。

接着,说说 '*', '+',和 '?',

他们用来暗示一个字符能够呈现的次数或者挨次。

   他们别离暗示:

"zero or more"相当于{0,},

"one or more"相当于{1,},

"zero or one。"相当于{0,1}, 那里是一些例子:

"ab*": 和ab{0,}同义,婚配以a开头,后面能够接0个或者N个b构成的字符串("a", "ab", "abbb", 等);

"ab+": 和ab{1,}同义,同上条一样,但起码要有一个b存在 ("ab", "abbb", 等。

"ab?":和ab{0,1}同义,能够没有或者只要一个b;

"a?b+$": 婚配以一个或者0个a再加上一个以上的b结尾的字符串。

要点, '*', '+',和 '?'尽管它前面阿谁字符。

你也能够在大括号里面限造字符呈现的个数,好比

"ab{2}": 要求a后面必然要跟两个b(一个也不克不及少)("abb");

"ab{2,}": 要求a后面必然要有两个或者两个以上b(如"abb", "abbbb", 等。

"ab{3,5}": 要求a后面能够有2-5个b("abbb", "abbbb", or "abbbbb")。

如今我们把必然几个字符放到小括号里,好比:

"a(bc)*": 婚配 a 后面跟0个或者一个"bc";

"a(bc){1,5}": 一个到5个 "bc。

还有一个字符 '│', 相当于OR 操做:

"hi│hello": 婚配含有"hi" 或者 "hello" 的 字符串;

"(b│cd)ef": 婚配含有 "bef" 或者 "cdef"的字符串;

"(a│b)*c": 婚配含有如许多个(包罗0个)a或b,后面跟一个c的字符串;。

0
回帖

如何迅速准确正则表达式? 期待您的回复!

取消