• 首页

  • 文章归档

  • 友链

  • 关于页面
D u e l s , I S h e e p !
D u e l s , I S h e e p !

ISheep

Code for fun, Make world better

09月
02
框架学习

正则表达式入门

发表于 2020-09-02 • 字数统计 2283 • 被 451 人看爆

正则表达式入门

练习网站

匹配单个字符

  1. 匹配单个字符:直接写出字符本身,或者通配符

通配符

  1. .:代表匹配任何一个字符,除了回车换行
  2. []:都是或的关系

  1. [^asd]:除了asd之外的都被匹配
  2. [a-z]:匹配所有小写字符
  3. [A-Z]:匹配所有大写字符
  4. [0-9]:匹配所有数字

匹配简写

  • \w:所有单词字符
  • \d:所有数字
  • \s:空白字符(包括制表符和空格)

匹配多个字符

  1. a*:表示匹配0个a或者n个a

(*的具体含义是匹配0个到n个前一个字符)

  1. a+:+ 代表匹配1个或n个前一个字符
  2. a?:?代表匹配0个或1个前一个字符

*+?只能匹配前一个字符,出现在一起肯定是错误的正则表达式

  1. a{2}:匹配两个a
  2. a{2,}:匹配两个以上a
  3. a{2,4}:匹配2-4个a

提取内容

以一个时间戳为例子

接下来提取年月日时分秒

嵌套的括号

其他

括号可以把括号内的内容当作一个整体

匹配n个helloworld

{

a*是贪婪的(会尽可能多的匹配)

{}

解决办法:

a.*?a:尽可能匹配少的内容

{}

一个pattern匹配多个内容

{}

字符边界控制符

  1. 匹配空白行

^代表行首,$代表行尾

!{}

例子(Nginx日志提取字段)

93.180.71.3 - - [17/May/2015:08:05:32 +0000] "GET /downloads/product_1 HTTP/1.1" 304 0 "-" "Debian APT-HTTP/1.3 (0.8.16~exp12ubuntu10.21)"
93.180.71.3 - - [17/May/2015:08:05:23 +0000] "GET /downloads/product_1 HTTP/1.1" 304 0 "-" "Debian APT-HTTP/1.3 (0.8.16~exp12ubuntu10.21)"
80.91.33.133 - - [17/May/2015:08:05:24 +0000] "GET /downloads/product_1 HTTP/1.1" 304 0 "-" "Debian APT-HTTP/1.3 (0.8.16~exp12ubuntu10.17)"
217.168.17.5 - - [17/May/2015:08:05:34 +0000] "GET /downloads/product_1 HTTP/1.1" 200 490 "-" "Debian APT-HTTP/1.3 (0.8.10.3)"
217.168.17.5 - - [17/May/2015:08:05:09 +0000] "GET /downloads/product_2 HTTP/1.1" 200 490 "-" "Debian APT-HTTP/1.3 (0.8.10.3)"
93.180.71.3 - - [17/May/2015:08:05:57 +0000] "GET /downloads/product_1 HTTP/1.1" 304 0 "-" "Debian APT-HTTP/1.3 (0.8.16~exp12ubuntu10.21)"

{}

分享到:
MySQL操作数据库
Linux基础
  • 文章目录
  • 站点概览
ISheep

🐏 ISheep

放羊么?

Github Twitter Email Telegram RSS
看爆 Top5
  • 2020年终总结 563次看爆
  • 【转载】 2010年的房地产调控,我们收获了什么?写在房价暴涨前 461次看爆
  • 正则表达式入门 452次看爆
  • 搬家 437次看爆
  • 二〇二一 · 迷茫 、恐慌 410次看爆

站点已萌萌哒运行 00 天 00 小时 00 分 00 秒(●'◡'●)ノ♥

Copyright © 2022 ISheep 浙ICP备19046944号

由 Halo 强力驱动 · Theme by Sagiri · 站点地图