大学刚开始学c++的时候就想学一下正则,各种懒惰浇灭的我的热情,现在记录下我的正则笔记

一个email的实例

用该正则表达式去匹配用户的输入来判断是否合法。

正则字符来描述字符

正则表达式中,如果直接给出字符,就是精确匹配。

  • 1、用\d可以匹配一个数字,\w可以匹配一个字母或数字

    '00\d'可以匹配'007';#xx数字
    '\d\d\d'可以匹配'010';#数字数字数字
    '\w\w\d'可以匹配'py3';
  • 2、用 . 可以匹配任意字符

    'py.'可以匹配'pyc'、'pyo'、'py!'等等
  • 3、用*表示任意个字符(包括0个)

  • 4、用+表示至少一个字符

  • 5、用?表示0个或1个字符

  • 6、用{n}表示n个字符

  • 7、用{n,m}表示n-m个字符

test:带区号的电话号码

#010-12345
\d{3}\-\d{3,8}
  • 8、用[0-9a-zA-Z_]可以匹配一个数字、字母或者下划线

  • 9、用[0-9a-zA-Z_]+可以匹配至少由一个数字、字母或者下划线组成的字符串

  • 10、用[a-zA-Z_][0-9a-zA-Z_]*可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串

  • 11、用[a-zA-Z_][0-9a-zA-Z_]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)

  • 12、用A|B可以匹配AB

  • 13、用^表示行的开头

    ^\d表示必须以数字开头。
  • 14、用$表示行的结束
    \d$表示必须以数字结束。
    #整行匹配py
    ^py$