正则表达式学习

  • ^:匹配开始
  • $:匹配结尾
  • *:匹配前面的字符0次、1次或者多次
  • +:匹配前面的字符1次或者多次
  • ?:匹配前面的字符0次或者1次
  • . :匹配除换行符  之外的任何单字符
  • (): 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。如果要匹配字符( ),可以使用 ( 和 )
  • { :标记限定符表达式的开始
  • { :标记一个中括号表达式的开始
  • | :指明两项之间的一个选择
  • {n}:n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o
  • {n,}:n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
  • {m,n}:m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

例子1:

在写用户注册表单时,只允许用户名包含字符、数字、下划线和连接字符(-),并设置用户名的长度3-15个字符,我们就可以使用以下正则表达式来设定。

例子2:

如下,我们要将请求头变为字典形式的数据

例子3:

<H1>Chapter 1 - 介绍正则表达式</H1>

匹配< >之间的所有数据:<.*>

只匹配开始和结束的<>标签:<.*?>

只匹配开始的<>标签:^<.*?>

原文地址:https://www.cnblogs.com/csnd/p/11807607.html