正则 常用实例

    技术2022-07-10  142

    文章目录

    基本定义基础全匹配匹配左侧部分匹配右侧部分匹配中间部分 - 删除匹配两侧部分

    基本定义

    菜鸟教程 https://www.runoob.com/regexp/regexp-syntax.html 测试 http://tool.chinaz.com/regex https://tool.oschina.net/regex/#

    基础
    正则表达式的() [] {} 有着不同的意思。 () 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串 (\s*)表示连续空格的字符串 [] 是定义匹配的字符范围。比如[a-zA-Z0-9]表示相应位置的字符要匹配英文字符和数字。[\s*表示空格或者*] {}一般是用来匹配的长度。比如\s{3}表示匹配三个空格,\s[1,3]表示匹配13个空格 (0-9)匹配'0-9'本身。[0-9]*匹配数字(注意后面有*,可以为空)[0-9]+匹配数字(注意后面有+,不可以为空){0-9}写法是错误的 [0-9]{0,9}表示长度为09的数字字符串。
    全匹配
    例子:sign-apply-developer, 申请签约开发者, 0表達式:[a-z|-]+(,.*,).*[0-9]説明: [a-z|-] 匹配sign-apply-developer 字母a到z 或 ‘-’;‘+’匹配多个,即匹配个数>1(,.*,) 贪婪模式 匹配‘,’中间部分,‘()’匹配本身.*匹配后续所有[0-9] 匹配0到9数字 PS:等价于\d

    匹配左侧部分
    表达式:^[^,]+例子:sign-apply-developer, 申请签约开发者, 0说明: - [^,] 找到’,'以外部分 - [^,]+匹配到3处 - ^[^,]+左侧第一個
    匹配右侧部分
    表达式:[,]\s+\d+例子:sign-apply-developer, 申请签约开发者, 0说明: - [,]找到两个, - \s\d匹配右边有一个空格和一个整形 - +匹配数量>1 兼容多空格,多数字情况 如:, 0000000优化:[,]\s+\d.*
    匹配中间部分 - 删除
    表达式:,.*,例子:sign-apply-developer, 申请签约开发者, 0说明:替换两个,中间部分为空 sign-apply-developer 0
    匹配两侧部分
    表达式:^[^,]+|[^,]+$例子:sign-apply-developer, 申请签约开发者, 0说明: - [^,] 找到‘,’以外部分 - ^[^,] 最左侧 即’s’ - ^([^,]+)取反,即左侧全部 - [^,]+$取反,即右侧全部
    Processed: 0.012, SQL: 9