当前位置: 首页 > news >正文

创口贴网站模板wordpress+左侧导航

创口贴网站模板,wordpress+左侧导航,电子商务推荐类网站建设的目的,在青岛做阿里巴巴网站找谁正则表达式正则表达式类型全景图正则表达式类型对比表基础元素字符表一、基础正则表达式(BRE)1. 文件内容匹配(grep)2. 文本替换(sed)二、扩展正则表达式(ERE)1. 多条件匹配&#xf…

正则表达式

      • 正则表达式类型全景图
      • 正则表达式类型对比表
      • 基础元素字符表
      • 一、基础正则表达式(BRE)
        • 1. 文件内容匹配(grep)
        • 2. 文本替换(sed)
      • 二、扩展正则表达式(ERE)
        • 1. 多条件匹配(grep -E)
        • 2. 分组提取(awk)
      • 三、高级模式匹配
        • 高级元字符
        • 1. 零宽断言(匹配但不捕获)
        • 2. 非贪婪匹配
      • 四、实战应用场景
        • 1. 日志错误提取
        • 2. 配置文件解析
        • 3. 数据验证
      • 命令总结表格
      • 功能作用详解
      • 1. 正则表达式类型对比
      • 2. 核心元字符速查
      • 3. 分组与捕获
      • 4. 实战技巧
        • 日志分析
        • 数据清洗
        • 配置管理

正则表达式类型全景图

正则表达式
基础正则 BRE
扩展正则 ERE
Perl兼容 PCRE
grep
sed
grep -E
awk
grep -P
Python/Perl

正则表达式类型对比表

特性BREEREPCRE适用场景
元字符转义需转义+?{}()无需转义无需转义复杂模式
量词支持* \+ \? \{n,m\}* + ? {n,m}* + ? {n,m}重复匹配
逻辑或````
分组捕获$ $()()提取子串
零宽断言不支持不支持支持边界匹配
非贪婪匹配不支持不支持*? +?HTML/XML解析
性能大文件处理

基础元素字符表

元字符功能示例匹配结果
.匹配任意字符a.c“abc”, “adc”
^行首锚定^start“start line”
$行尾锚定end$“line end”
*0次或多次ab*c“ac”, “abbc”
+1次或多次ab+c“abc”, “abbc”
?0次或1次ab?c“ac”, “abc”
[]字符组[aeiou]“a”, “e”
[^]排除字符[^0-9]“a”, “B”
``或操作`cat
()分组捕获(abc)+“abc”, “abcabc”

一、基础正则表达式(BRE)

1. 文件内容匹配(grep)
# 创建测试文件
[root@localhost ~]# cat > test.txt <<EOF
apple
banana
cherry
12345
test@example.com
EOF# 匹配纯数字行
[root@localhost ~]# grep '[0-9]\+' test.txt
12345# 匹配邮箱地址
[root@localhost ~]# grep '[a-z]\+@[a-z]\+\.com' test.txt
test@example.com
2. 文本替换(sed)
# 替换所有数字为 #
[root@localhost ~]# sed 's/[0-9]\+/#/g' test.txt
apple
banana
cherry
#
test@example.com# 删除空行
[root@localhost ~]# sed '/^$/d' test.txt
apple
banana
cherry
12345
test@example.com

二、扩展正则表达式(ERE)

1. 多条件匹配(grep -E)
# 匹配水果或邮箱
[root@localhost ~]# grep -E 'apple|banana|cherry|@' test.txt
apple
banana
cherry
test@example.com# 匹配3位以上数字
[root@localhost ~]# grep -E '[0-9]{3,}' test.txt
12345
2. 分组提取(awk)
# 提取邮箱用户名和域名
[root@localhost ~]# awk '/@/ {match($0, /([a-z]+)@([a-z]+)\.com/, arr); print "用户:" arr[1], "域名:" arr[2]}' test.txt
用户:test 域名:example

三、高级模式匹配

高级元字符
元字符功能示例匹配结果
\d数字\d{3}“123”
\w单词字符\w+“word”
\s空白字符\s+" ", “\t”
\b单词边界\bword\b“word”
(?=)正向预查Windows(?=10)“Windows” in “Windows10”
(?负向预查Windows(?!7)“Windows” not in “Windows7”
*?非贪婪匹配<div>.*?</div>最短匹配
1. 零宽断言(匹配但不捕获)
# 匹配.com前的域名(不含.com)
[root@localhost ~]# grep -P 'example(?=\.com)' test.txt
test@example.com  # 匹配到"example"
2. 非贪婪匹配
# 创建含HTML标签的测试文件
[root@localhost ~]# echo "<div>content</div>" > html.txt# 非贪婪匹配(最短内容)
[root@localhost ~]# grep -P '<div>.*?</div>' html.txt
<div>content</div>

四、实战应用场景

1. 日志错误提取
# 生成日志文件
[root@localhost ~]# cat > app.log <<EOF
INFO: User login
ERROR: Database connection failed
WARN: Disk space low
ERROR: File not found
EOF# 提取ERROR行及其描述
[root@localhost ~]# grep -oP 'ERROR: \K.*' app.log
Database connection failed
File not found
2. 配置文件解析
# 解析nginx配置提取监听端口
[root@localhost ~]# cat > nginx.conf <<EOF
server {listen 80;server_name localhost;
}
server {listen 443 ssl;server_name example.com;
}
EOF[root@localhost ~]# grep -Po 'listen \K[0-9]+' nginx.conf
80
443
3. 数据验证
# 验证IP地址格式
[root@localhost ~]# ip="192.168.1.100"
[root@localhost ~]# if [[ $ip =~ ^[0-9]{1,3}(\.[0-9]{1,3}){3}$ ]]; then
> echo "有效IP"
> else
> echo "无效IP"
> fi
有效IP

命令总结表格

演示命令功能描述关键选项/语法
grep '[0-9]\+' fileBRE数字匹配\+ 一次或多次
`grep -E 'pattern1pattern2’`ERE多条件匹配
sed 's/old/new/g'文本替换s///g 全局替换
awk '/pattern/{print $0}'模式过滤/regex/ 匹配行
grep -P 'regex'Perl兼容正则-P 支持高级特性
[[ $var =~ regex ]]条件判断=~ 正则匹配

功能作用详解

1. 正则表达式类型对比

类型命令选项支持特性典型场景
BRE (基本正则)grep. * [ ] ^ $简单匹配、基础文本处理
ERE (扩展正则)grep -E`+ ?() {}`
PCRE (Perl兼容)grep -P零宽断言、非贪婪匹配高级文本提取、日志分析

2. 核心元字符速查

元字符BRE/EREPCRE功能描述
.匹配任意单个字符(除换行)
*前项匹配0次或多次
+\+ (BRE) / + (ERE)前项匹配1次或多次
?\? (BRE) / ? (ERE)前项匹配0或1次
{n,m}\{n,m\} (BRE) / {n,m} (ERE)匹配n到m次
``| (BRE) / `` (ERE)
^ / $行首/行尾锚定
\b单词边界
(?=)正向零宽断言

3. 分组与捕获

# 提取日期格式(YYYY-MM-DD)
echo "2025-07-28" | grep -Po '(\d{4})-(\d{2})-(\d{2})'
# 输出:2025-07-28# 使用后向引用(sed)
echo "hello world" | sed 's/$hello$ $world$/\2 \1/'
# 输出:world hello
  • 分组编号:
    • \0:整个匹配内容
    • \1\2:第1、2个捕获组

4. 实战技巧

日志分析
# 提取HTTP状态码
grep -Po 'HTTP/1.\d" \K[0-9]{3}' access.log# 统计错误码分布
awk '/ERROR/{match($0, /ERROR: (.+)/, arr); print arr[1]}' app.log | sort | uniq -c
数据清洗
# 移除非数字字符
echo "Phone: (123) 456-7890" | sed 's/[^0-9]//g'
# 输出:1234567890# 规范日期格式
echo "28/07/2025" | sed -E 's#([0-9]{2})/([0-9]{2})/([0-9]{4})#\3-\2-\1#'
# 输出:2025-07-28
配置管理
# 批量替换IP地址
sed -i 's/192\.168\.1\.[0-9]\+/10.0.0.1/g' *.conf# 提取所有用户邮箱
grep -hoE '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' /etc/passwd
http://www.dtcms.com/a/594601.html

相关文章:

  • 网站开发工作程序怎么写个人养老保险缴费标准
  • 做推广的网站带宽需要多少湛江自助建站软件
  • MES系统+3D一览通应用,研发制造无缝对接,实现车间生产数字化
  • 国内工业设计网站网站规划建设方案模板
  • 苏州手机网站建设服务wordpress js 页脚
  • wordpress子目录网站网站建设有哪些家
  • 深圳企业网站制作设计方案wordpress防36kr
  • 淘宝网站基础建设 托管网页设计从入门到精通
  • 网站开发常用框架开发小程序好的公司
  • android ios,web使用lottie实现万能动画
  • seo网站优化方案案例云南网络营销推广
  • 网站备案 途径河南省网站建设哪家好
  • 网站开发说明书局域网站建设模版
  • 织梦建设网站需要什么软件重庆域名注册官网
  • ssh远程连接idea
  • 1110随记
  • 《5G核心网规划与应用》第一章:5G部署及标准发展
  • 个人网站模板 html5“哈尔滨企业服务平台”公众号
  • 移动官网网站建设屏幕分辨率 网站开发
  • “人机交互”中语音识别浅析
  • PPT图标大小怎么调才协调?与文字的比例是多少 ?
  • PPT 素材版权风险解析与合规素材获取指南
  • 什么平台做网站wordpress+爱情模板
  • 做视频网站需要什么职位工作做网站后期续费是怎么算的
  • XSLT `<value-of>` 元素详解
  • 网站收录查询方法淘宝美工做兼职的网站
  • 如何电话推销客户做网站网站制作致谢词
  • 嘉兴网站的优化wordpress ajax加载
  • 东莞网站竞价推广运营网站建设的需要分析
  • #HarmonyOS篇:管理组件拥有的状态状态管理V2