boost正则式解析MAC地址和IP地址

C++二进制数据可视化工具BinPipe:从管道架构到协议解析实战 在计算机系统中,二进制数据是信息存储与传输的底层形式,理解其结构对于C++开发、逆向工程和协议分析至关重要。其核心原理在于将原始字节流通过特定的规则映射为可理解的结构化信息。掌握二进制数据处理技术,不仅能提升对内存布局、网络协议等底层机制的洞察力,更在性能优化、安全分析和跨平台兼容性方面具有极高的工程价值。这一技术广泛应用于文件格式解析、网络抓包分析、嵌入式通信及安全漏洞挖掘等场景。本文以BinPipe项目为例,深入探讨如何运用C++17/20的现代特性(如std::byte和std::span)和管道过滤 阅读详情
我所用的boost版本为:1.49.0

regex库需要提前编译好,并链接进来。如果你不想使用boost库,可以参考这篇,纯代码解析判断IP是否合法: http://www.cppblog.com/smagle/archive/2010/01/08/105184.html

#include <cstdlib>
#include <stdlib.h>
#include <boost/regex.hpp>
#include <string>
#include <iostream>
using namespace std;
using namespace boost;

void check_result(const string &expr, const string &str)
{
    regex expression(expr);
    cmatch what;

    cout<<str<<endl;

    if (regex_match(str.c_str(), what, expression))
    {
        for(int i = 1; i < what.size(); i++)
            cout<<"segment\t"<<what[i].str()<<endl;
    }
    else
    {
        cout<<"Invalid!"<<endl;
    }
    cout<<endl;
}

int main(int argc, char* argv[])
{
    string mac("12:34:af:1D:3D:5F");
    //string str = "([0-9a-fA-F]{2}:){5}([0-9a-fA-F]{2})"; //这种只会打印后两段
    string mac_fmt = "([0-9a-fA-F]{2}):([0-9a-fA-F]{2}):([0-9a-fA-F]{2})"
                     ":([0-9a-fA-F]{2}):([0-9a-fA-F]{2}):([0-9a-fA-F]{2})";
    check_result(mac_fmt, mac);

    string ip1 = "128.10.3.13";    //合法
    string ip2 = "255.10.3.13";    //不合法,leftmost法则,所以不能匹配第一段的最后一节
    string ip_fmt = "(25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])"
        "."
        "(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])"
        "."
        "(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])"
        "."
        "(25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])"; 

    check_result(ip_fmt, ip1);
    check_result(ip_fmt, ip2);
  
    return 0;
} 


Gemma 4 26B A4B本地部署:10万条私密日志的隐私化语义检索实战 向量检索是现代个人知识管理的核心技术,其本质是将非结构化文本映射至高维语义空间,通过相似度计算实现超越关键词的深度理解。A4B量化作为新一代动态精度控制方案,能在显著降低显存占用的同时保留关键激活路径的表达能力,为大模型本地化部署扫清硬件门槛。该技术特别适配混合语种、含代码与缩写的私域语料,在保障数据不出域的前提下,支撑起十万级文档规模的低延迟问答。本文以真实十年日志为样本,完整呈现从清洗、A4B量化加载、ChromaDB向量构建到带溯源语义问答的端到端链路,聚焦隐私优先架构下的工程落地细节。 阅读详情

相关推荐

Anthropic API架构归零:Layer蒸发背后的协议栈瘦身实践

在现代AI服务架构中,'层(Layer)'常指代中间件、网关、调度代理等非核心但高开销的抽象组件;其存在虽提升灵活性,却显著增加延迟、内存占用与运维复杂度。随着WASM运行时成熟、边缘CDN低延迟能力普及及MoE模型调度精细化需求上升,将状态决策从运行时前移至构建时成为新范式——即通过静态路由表、客户端WASM预检和gRPC流式令牌桶实现‘层归零’。该技术路径大幅降低P99延迟与错误率,提升每美元算力效能,适用于高并发SaaS、边缘AI设备及对确定性延迟敏感的实时系统。本文聚焦Anthropic v0.35

Ferrerooo 成长 406

C++正则表达式-regex类(不依赖其他库)

提取了boost::regex里边的几个正则表达式匹配搜索接口,打包成DLL,以在不依赖于boost的情况下独立编译运行

LLM增强电商搜索:解决冷启动的实战架构与避坑指南

电商搜索中的冷启动问题,本质是用户行为稀疏与商品数据匮乏导致的相关性下降。其技术原理在于传统基于统计的召回与排序模型严重依赖历史交互信号,而新用户、新品、长尾查询缺乏足够训练样本。大语言模型(LLMs)在此场景的价值,并非替代原有系统,而是作为语义理解增强器,实现Query意图补全、商品元数据生成与跨模态对齐。通过分层触发、结构化输出与领域微调,LLM可显著提升新用户首搜转化率与新品曝光占比。典型应用包括美妆‘熬夜脸急救’需求解析、家居新品‘陶瓷咖啡杯’语义打标等真实业务场景,最终落地于ES+双塔+LLM的

weixin_34195142的博客 423

嵌入式系统/ARM技术中的Linux下读取网卡默认MAC地址的方法

MAC(Media Access Control,介质访问控制)是用来定义网络设备的位置。在嵌入式linux学习中无可避免也会遇到MAC,本文主要描述了如何通过操作OTP来读取嵌入式linux设备网卡中的MAC地址   1.1      适用范围   这里主要介绍读取网卡MAC地址的方法,适用于EasyARM-i.MX287A开发套件,其应用原理及配套示例也适用于下表1.1所列出的产品型号。 表1.1  适用产品型号   1.2      原理介绍   MAC(Media Access Control,介质

Openclaw本地化部署实战:Docker跨平台安装与Ollama/Dify技能集成

AI工作流编排平台是企业实现智能自动化的核心基础设施,其本质是将大模型、OCR、知识库等异构AI能力解耦为可调度的标准化单元。Openclaw作为轻量级开源Agent编排引擎,不内置模型而专注流程路由,天然适配本地化AI栈——如Ollama私有模型服务、Dify自建知识库、HunyuanOCR等。这种架构规避了公有云API的数据合规风险、调用成本不可控及网络延迟抖动问题,特别适合金融、医疗等强监管场景。通过Docker统一封装,Openclaw可在Windows、Ubuntu、macOS乃至群晖NAS等碎片

weixin_34034261的博客 408

【信息科学与工程学】【通信工程】第五十九篇 IP网络设计01

IP网络设计不是只写ip address;它本质是的问题,所以参数天然分布在:层级例子物理/传输(可选但你会要求光路/电路)光功率/OSNR/色散/衰减/BER/FEC;铜/微波链路预算L1/L2 链路模型速率、MTU、成帧开销、串行化、传播时延、缓冲排队/调度/QoS服务曲线、令牌桶、延迟界、丢包概率近似路由/TE/可靠性流守恒、路径容量、切换/收敛时间信息论/可达性Shannon 上限、FEC 有效码率、链路容量 after overhead计算科学/数值。

weixin_49199313的博客 511

基于c++ boost实现阻塞式ping指定IP

基于c++ boost实现阻塞式ping指定IP

蜉蝣的博客 1535

【16】linux命令/工具,systemd,文件操作,动静态库,信号,socket

apt install python3-pip --fix-missing(断开vpn,cp /etc/apt/sources.list /etc/apt/sources.list.bak,python3 -m pip install --upgrade pip,apt-get update,pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com)设置时间,联网,apt-get install vim。

持续更新ing... 6788

.获取MAC地址方法大全

<br />Windows平台下用C++代码取得机器的MAC地址并不是一件简单直接的事情。到目前为止,作者尚未发现有任何一个通用的100%的适用于所有Windows平台的方法可以稳定的取得MAC地址。而有些应用(比如MMORPG)则需要稳定的得到机器的MAC地址,解决方案往往是通过多种方法依次使用来提高成功率。            说明:  以下方法只会返回多网卡的第一个MAC地址。网上有很多文章和源码来解决该问题,大多不全或有问题。本篇所有方法均经过整理调试,可直接使用。作者也不喜欢满篇帖代码,本篇贴

6164

【信息科学与工程学】【物理/化学科学和工程技术】知识体系073——电学基础04

​。

weixin_49199313的博客 2611

【信息科学与工程学】【安全领域】第三十五篇 网络安全算法表02

​分级处理​:实时增量 + 离线全量 + 自动校验三线并行​最终一致优先​:强同步仅用于支付等核心场景​双向容错​:Redis侧:读CK兜底(CK侧:自动屏蔽校验失败分区​业务适配​:graph LR高实时场景 --> Redis写+双重读分析场景 --> 放宽CK同步延迟报表场景 --> T+1校准保障该方案已在京东、美团等千亿级数据平台验证,支撑双11级流量下Redis与ClickHouse的数据协同。

weixin_49199313的博客 1342

C++ IP包流量分析工具开发:从libpcap到高性能架构实践

网络流量分析是网络监控、性能优化和安全检测的基础技术,其核心在于高效捕获并解析网络数据包。通过解析IP、TCP/UDP等协议头部,可以提取源/目的地址、端口、协议类型等关键信息,进而实现流量统计、连接追踪和异常检测。在工程实践中,为了应对高带宽环境下的线速处理需求,需要采用零拷贝、无锁环形缓冲区等高性能编程技术,并借助libpcap等库实现用户态抓包。这些技术对于构建定制化的网络监控工具、微服务通信调试及安全分析原型具有重要价值。本文以开发一个C++ IP包流量分析工具为例,详细阐述了如何结合libpcap

weixin_30820077的博客 458

【信息科学与工程学】计算机科学与自动化——第三百零五篇 数据中心 Scale-Up、Scale-Out、Scale-Across 18

普通CDN在遭遇50Gbps攻击时,节点瘫痪率高达70%。云化安全CDN的零信任模型通过将动态身份验证、最小权限访问与CDN的分布式加速能力深度集成,实现安全与性能的协同优化。云化的安全CDN(如腾讯云EdgeOne)与普通的安全CDN在架构、功能、性能和适用场景上存在显著差异。某视频平台接入腾讯云EdgeOne+零信任方案后,全球平均延迟降至46ms,攻击拦截率99.97%,验证了协同模型在高并发场景的普适性。​:随着边缘计算普及,云化安全CDN将逐步取代传统方案,成为高交互、高安全场景的标配基础设施。

weixin_49199313的博客 1698

Solr词切分精准控制:告别WordDelimiterGraphFilter的模糊匹配

在搜索引擎技术中,分词是影响搜索精度的核心环节;其本质是将原始文本按语义边界拆解为可索引的最小单元。Solr作为企业级搜索平台,原生提供的WordDelimiterGraphFilter虽支持驼峰、数字、符号切分,但因规则泛化、图模式副作用及大小写处理缺陷,极易导致‘iPhone’被误拆为‘i’和‘Phone’、‘v2.3.1’被肢解为孤立数字等语义失真问题。本文聚焦Solr的Word Splitting Filter定制实践,基于PatternReplaceFilterFactory构建可读、可调、可验证

weixin_34245082的博客 409

【信息科学与工程学】【运营科学】第二篇 C4信息与通信网络运营 (C4) ——数据中心网络运营01

这是运营的物理和逻辑对象。C4.11xx 传输资源:光纤、微波、卫星链路;频谱资源(Sub-6GHz, 毫米波)。C4.12xx 节点资源:核心路由器、交换机、基站(gNB)、数据中心服务器。C4.13xx 虚拟化资源:由NFV生成的虚拟网络功能(VNF)、容器、虚拟机和网络切片实例。这是实现智能、灵活运营的核心技术集。C4.21xx 软件定义与虚拟化:软件定义网络 (SDN):控制平面与数据平面分离,实现集中、可编程的网络控制。网络功能虚拟化 (NFV):将传统专用硬件设备的功能以软件形式运行在通用硬件上

weixin_49199313的博客 1450

【信息科学与工程学】计算机科学与自动化——第八十四篇 C++分布式软件高并发/高可用算法01

4. 提交:协调者选择提交时间戳(>所有读时间戳),两阶段提交:a) 写意图预提交到所有参与者,b) 参与者持久化后确认,c) 协调者决定提交,异步清理意图。:客户端请求发送到协调节点,协调节点根据路由转发到主分片所在节点。Span有父子关系。1. 索引文档:客户端发送PUT请求到协调节点,协调节点路由到主分片节点,主分片写入本地,然后并行复制到副本分片,等待确认后响应客户端。3. 搜索:客户端发送搜索请求到协调节点,协调节点广播到所有相关分片,每个分片执行查询,返回结果,协调节点合并、排序、分页后返回。

weixin_49199313的博客 1080

嵌入式自动生成mac地址

嵌入式,通过boost向服务端获取mac地址,自动烧写mac地址到硬件驱动里去

深入RK3588内存管理:如何用dma_buf_alloc和mpp_buffer为RGA2分配4G以内内存(附kernel版本选择)

本文深入探讨了RK3588平台上RGA2核心的4G内存限制问题,详细解析了dma_buf_alloc和mpp_buffer两种内存分配方案的技术细节与适用场景。通过代码示例和性能对比,帮助开发者优化高分辨率视频处理流程,并提供了内核版本选择与常见错误排查指南。

weixin_29168153的博客 364
上一篇: 结构体中定义string变量
下一篇: ospf各种区域间的lsa
sooolo
博客等级 码龄17年 95粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值