L.I.B.

Cyame's Personal Blog

0%

Re

Regular Expression

正则表达式
Form:用/Re/包围

? -> 0,一个字符

  • -> 0,1,多个字符
    ^ -> 字符串起始位置
    $ -> 字符串结束位置
    [0-9]单个数字
    [a-z]单个字母
    {3,15}3~15个字符
  • ->前一个字符出现1+次
  • ->前一个字符出现0+次
    ? ->前一个字符出现0,1次

转义
\cx 匹配由x指明的控制字符
\f = \cL = 匹配换页符
\n = \cJ = 匹配换行符
\r = \cM = 匹配回车符
\s = 匹配任何空白字符
\S = 匹配任何非空白字符
\t = \cl = 匹配制表符
\v = \cK = 匹配垂直制表符

$ 字符串结尾
() 子表达式首尾

  • 0+
  • 1+
    . 除了换行\n以外任何单字符
    [] 表达式首尾
    ? 0或1次
    \ 转义符
    ^ 起始位置
    {} 限定符首尾
    | 两项间选择

限定符
{n}匹配n次
{n,}匹配至少n次
{n,m}匹配n~m次

常用组合
.* 单行
.*? 最小单行

定位符
\b 匹配单词边界
\B 匹配非单词边界

优先级
转义>方括号&圆括号>限定符>定位点/序列>或

常用
^[a-zA-Z0-9_]+$ // 所有包含一个以上的字母、数字或下划线的字符串
^[1-9][0-9]*$ // 所有的正整数
^-?[0-9]+$ // 所有的整数
^[-]?[0-9]+(.[0-9]+)?$ // 所有的浮点数
☝[-]?是可选负号的意思

Welcome to my other publishing channels