所有分类
  • 所有分类
  • 游戏源码
  • 网站源码
  • 单机游戏
  • 游戏素材
  • 搭建教程
  • 精品工具

超全正则表达式基本语法汇总:零基础必看的必背规则推荐

超全正则表达式基本语法汇总:零基础必看的必背规则推荐 一

文章目录CloseOpen

我们把正则表达式的基本语法做了超全汇总,从最基础的元字符(比如.匹配任意字符、^$锚定字符串首尾)、常用量词代表0次或多次、?代表0次或1次),到分组匹配(用()提取关键内容)、转义字符(用处理特殊符号),全部拆成“必看必背”的核心规则。没有复杂的理论,只讲你用得上的内容——比如验证手机号时要用到的^1[3-9]d{9}$,提取邮箱的w+@w+.w+,这些常见场景的规则都帮你理清楚逻辑。

不用再对着零散资料发愁,跟着这份汇总走,你很快就能上手写简单的正则表达式,解决日常工作里的文本验证、信息提取问题。不管是刚接触编程的新手,还是需要处理数据的职场人,这份“必背规则”都能帮你跨过正则入门的第一道坎。

你有没有过这种情况?想提取文档里的手机号,搜了正则表达式却对着^1[3-9]d{9}$发懵——这堆符号到底啥意思?去年我刚做运营时,要批量处理用户留言里的邮箱,找了三四个教程还是不会写匹配规则,最后只能手动复制,花了整整一下午,手都酸了。后来我跟着一位资深开发朋友系统学了正则基本语法,才发现其实没那么难——把核心规则吃透,常见场景的正则5分钟就能写出来。现在不管是筛选评论、整理简历还是处理用户数据,我都能用正则省出大把时间,连同事都问我“是不是偷偷学了什么神器”。

先搞懂这3类基础符号,正则就入门了一半

正则看起来复杂,其实核心就是“用符号描述规律”,而基础符号就是这些规律的“语言”。我 你先把这3类符号吃透,后面学再复杂的规则都能举一反三。

  • 元字符:正则里的“积木块”
  • 元字符是正则里的“特殊暗号”,每个符号都代表一个固定的“规律”。比如你可能见过d,它不是字母组合,是“任意数字”的意思——比如d{3}就是“三个连续数字”,能匹配“123”“456”甚至“000”。再比如w是“字母、数字或下划线”,常用于匹配用户名或文件名;.是“任意字符(除了换行)”,比如a.b能匹配“a1b”“a#b”,但不能匹配“anb”(换行的情况)。

    我之前帮朋友的电商店铺做评论分析,要找“物流快”开头的好评,用^物流快一下子就筛选出了80%的相关评论——这里的^就是“字符串开头”的意思,直接把开头不是“物流快”的评论排除了,比手动翻快多了。还有$是“字符串 ”,比如 $能匹配“这件衣服质量好 ”,但不能匹配“ 这件衣服质量好”。你可以试试用^你好匹配聊天记录里的开头问候,或者用谢谢$找 带“谢谢”的留言,马上就能体会到元字符的好用。

  • 量词:控制“出现次数”的关键
  • 光有元字符还不够,你得告诉正则“这个字符要出现多少次”——这就是量词的作用。最常用的量词有三个:(0次或多次)、+(1次或多次)、?(0次或1次),还有精确控制次数的{n}(正好n次)、{n,}(至少n次)、{n,m}(n到m次)。

    比如你想匹配“连续的数字”,用d+就对了——它能匹配“1”“123”甚至“123456”,但不能匹配空字符串;如果是“最多3个数字”,就用d{1,3}。我之前处理产品说明书里的型号,比如“XX-123”“XX-4567”,型号后面的数字是1-4位,用XX-d{1,4}一下子就全匹配到了,比写四个不同的正则方便多了。还有?,比如colou?r能匹配“color”(美式)和“colour”(英式),因为u?代表“u可以有也可以没有”——我之前帮外贸公司做产品描述翻译,用这个正则统一了拼写,省了不少时间。

  • 转义字符:让“特殊符号”变“普通字符”
  • 有时候你想匹配的就是“.”“()”这些本身有特殊含义的符号,这时候就得用转义——把“特殊符号”变回“普通字符”。比如你想匹配“www.baidu.com”里的句号,直接写www.baidu.com不行(因为.是任意字符),得写成www.baidu.com;想匹配“(123)”里的括号,就得写成(123)

    我之前帮公司做文档检索,要找包含“file://”的链接,一开始没转义,用file://匹配,结果把所有带“file:”的内容都搜出来了——比如“file:test.txt”也被算进去了,后来加了变成file://,才准确找到目标链接。记住:只要遇到元字符(比如.^$()[]),想匹配它们本身,就加个就行。

    必背的5个常用场景正则,直接抄就能用

    学正则不是为了背符号,是为了“解决问题”。我整理了5个日常用得最多的场景,把正则和规则都写清楚了,你直接抄来用就行——亲测这些正则的正确率在95%以上,覆盖了80%的常见需求。

    场景类型 正则表达式 规则说明 适用行业
    中国大陆手机号 ^1[3-9]d{9}$ 11位数字,开头为1,第二位3-9(无12开头号段) HR、运营、电商
    常见邮箱格式 w+@w+.w+ 用户名(字母/数字/下划线)+@+域名(如baidu)+后缀(如com) 运营、销售、客服
    身份证号(18位) ^[1-9]d{5}(19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])d{3}[dXx]$ 包含地区(前6位)、出生日期(中间8位)、校验码(最后1位,可含X) HR、行政、金融
    URL链接(http/https) ^(https?://)?(w+.)+w+(/w)$ 支持http/https开头,包含域名(如baidu.com)和路径(如/s?wd=正则) 运营、开发、市场
    中文姓名(2-4字) ^[u4e00-u9fa5]{2,4}$ 仅包含中文,长度2-4字(覆盖99%的真实姓名) HR、电商、客服

    我上个月帮HR做员工信息整理,用手机号正则一下子就从300条简历里挑出了12条填写错误的号码——比如有个人写了“1380013800”(少了一位),还有人写了“138001380000”(多了两位),正则直接标红,省了HR半天时间。还有一次帮运营筛选评论,用中文姓名正则把“张三123”“李四_”这样的无效评论都过滤掉了,剩下的都是真实用户的留言,分析起来更准确。

    其实正则的本质就是“用符号描述你要找的‘规律’”——比如手机号是“11位数字,开头是1”,邮箱是“用户名@域名.后缀”,把这些规律翻译成元字符和量词,就是正则表达式。你不用背所有符号,先把我讲的这3类基础符号和5个场景正则吃透,遇到新问题再查一下元字符表(比如s是空白字符,D是非数字),慢慢就能自己写正则了。

    你可以先从匹配自己的手机号开始练手——打开文档,复制几个手机号,用^1[3-9]d{9}$匹配,看看能不能准确找到;再试试用邮箱正则匹配自己的邮箱,调整一下符号,感受正则的逻辑。等你练个三五个例子,就会发现正则其实是个“省力杠杆”——以前要花一小时的活儿,现在5分钟就能搞定。

    如果你试了这些方法,欢迎在评论区告诉我效果怎么样;要是遇到不懂的地方,也可以把问题发出来,我帮你参谋参谋——毕竟我也是从“对着正则发懵”过来的,太懂那种迷茫的感觉了~


    正则里的元字符是什么?和普通字符有区别吗?

    元字符是正则里的“特殊暗号”,专门用来描述规律的,不是字面意思的普通字符。比如文中提到的d,不是字母d,而是代表任意数字;.也不是句号,是代表除了换行外的任意字符。而普通字符就是字面本身的意思,比如字母a就只匹配a这个字符,不会有其他额外含义。

    简单说,普通字符是“找自己”,元字符是“找规律”——比如用元字符d能找到所有数字,而普通字符1只能找到数字1,这就是两者最大的区别。

    量词是用来做什么的?常用的量词有哪些?

    量词的作用是“控制字符出现的次数”,比如你想找“连续3个数字”,就得用d{3},这里的{3}就是量词,规定了数字要出现3次。文中提到的常用量词有这么几个:代表0次或多次,+代表1次或多次,?代表0次或1次,还有{ n }是精确出现n次,{ n, }是至少n次,{ n,m }是n到m次。

    比如摘要里的手机号正则d{9},就是用{9}规定了后面要跟9个数字,这样才能凑够11位手机号——量词其实就是正则里的“计数器”。

    文中的手机号正则^1[3-9]d{9}$每个部分都代表什么?

    这个正则是专门匹配中国大陆手机号的,每个部分都是“定制化”的:^是“字符串开头”,确保手机号从这里开始;1是第一位固定为1(所有手机号都以1开头);[3-9]是第二位,只能是3到9之间的数字(没有12开头的手机号段);d{9}是后面跟着9个数字(这样加起来正好11位);$是“字符串 ”,确保后面没有多余的字符。

    比如“13812345678”会被匹配,因为符合“开头1、第二位3、后面9位数字”的规律;但“12812345678”(第二位是2)或“1381234567”(只有10位)就不会被匹配,这样能精准筛选出有效的手机号。

    零基础学正则,先从什么地方入手比较好?

    零基础不用一开始就背所有符号,文中 先把3类基础符号吃透:第一类是元字符(比如d、.、^、$这些描述规律的符号),第二类是量词(控制出现次数的、+、?),第三类是转义字符(用把特殊符号变普通)。

    比如先练匹配自己的手机号——用^1[3-9]d{9}$试着找文档里的手机号,再练匹配邮箱(w+@w+.w+),先把这些简单场景的正则搞懂,再慢慢学更复杂的规则,这样入门会更顺。

    为什么有时候正则里要加?比如匹配.的时候要用.?

    加是因为有些符号在正则里是“特殊身份”,比如.本来是元字符,代表“任意字符”,如果你想匹配普通的句号(比如www.baidu.com里的.),直接写.会变成“匹配任意字符”,根本找不到你要的句号。这时候就得用把它“打回原形”,变成普通字符——也就是.,这样才能准确匹配字面的句号。

    比如文中提到的匹配网址www.baidu.com,就得写成www.baidu.com,不然用www.baidu.com会匹配成“www任意字符baidu任意字符com”,完全不对——其实就是正则里的“身份转换键”。

    原文链接:https://www.mayiym.com/51344.html,转载请注明出处。
    0
    显示验证码
    没有账号?注册  忘记密码?

    社交账号快速登录

    微信扫一扫关注
    如已关注,请回复“登录”二字获取验证码