博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式速成
阅读量:6227 次
发布时间:2019-06-21

本文共 1646 字,大约阅读时间需要 5 分钟。

hot3.png

===============================

以下内容为基础部分

===============================

正则表达式的使用和理解分为几个部分

1、文字描述 元字符

当纯英文的环境下,针对ascii编码,每一个元字符的描述只面向一个字节

通用的描述方式为 

例如:

数字[0-9]: 表示 匹配一个字符,这个字符为ascii '0'-'9'之间,总共有9个可能性

同样还有小写字母[a-z]

大写字母[A-Z]。

[x129]表示x或者x或者1或者2或者9,四个可能性

正则表达式提供了一整套表达式体系,例如:

.    任意非换行

\n    换行

\s      空格或者tab

\w    字母或者数字

\d    数字

\b   单词开始或者结束

^    字符串开始

$    字符串结束

所有的正则表达式底层都是这么匹配的 需要注意的是因为包括()\在内,很多字符被正则表达式用来做格式说明,所以在匹配这些字符的时候需要用\来转义 。主要是  ()\{}[]|*+这几个 例如\\表示匹配ascii '\'

2、数量限定

我们有了解到正则表达式匹配一个字符的表示方法。那么接下来就是需要处理多个元字符的组合的问题

通用表达方式为

{n}  n次

{n,m}  n-m次

{n,} n次或者更多

其中常用表述规定为:

* 任意次数 {

0,}    

+ 一次或更多  {1,} 默认贪婪搜索

+?    一次或更多      默认非贪婪搜索,搜索到第一个满足条件的就退出

3、查找替换

() 表示一次匹配条件

$1-$999 表示一次匹配结果

后续接着写

参考资料

自用收录

------------------------需求1-----------------------

需求:将keil的map文件更改为\t 在excel中查看

  查找:\x20+(\w)

  替换为:\t$1

------------------------需求2------------------------

需求:字库取模工具生成的字库方向不对... 手动调换顺序:

  规则: uint8_t src[16] 转换为uint16 target[8]

        其中 target[0] = src[0]<<8+src[8]

                target[1] = src[1]<<8+src[9]

                ......

                target[7] = src[7] <<8+src[15]

     举例:

        将  

0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00, 0x00,

        替换为  

0x0000, 0x0000, 0x0000, 0x1FCC, 0x0000, 0x0000, 0x0000, 0x0000

    正则:

    查找:

0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}), 0x([a-fA-F\d]{2}),

    替换为:

0x$1$9, 0x$2$10, 0x$3$11, 0x$4$12, 0x$5$13, 0x$6$14, 0x$7$15, 0x$8$16,

那画面太美~ 386行 一下就换完了

如果有更好的办法...请留言 我感觉重复有点多... 

转载于:https://my.oschina.net/mummy108/blog/312082

你可能感兴趣的文章
双机调试和windbg的命令
查看>>
UVA 11093 Just Finish it up 环形跑道 (贪心)
查看>>
BLOG同步测试
查看>>
编码规约
查看>>
MySQL注入时语句中的/*!0
查看>>
爬虫,基于request,bs4 的简单实例整合
查看>>
函数基础
查看>>
qdoj.xyz 6.22
查看>>
js随机背景颜色
查看>>
NTFS文件系统简介
查看>>
[IOC]Unity使用
查看>>
PUTTY的使用教程
查看>>
永远的经典-意大利波伦塔蛋糕Polenta Cake
查看>>
[转载] C#面向对象设计模式纵横谈——22 State状态模式
查看>>
HDOJ_ACM_Max Sum
查看>>
LeetCode 141, 142. Linked List Cycle I+II
查看>>
管道函数
查看>>
14.多线程设计模式 - Master-Worker模式
查看>>
机器学习实战——k-近邻算法
查看>>
设计模式——单例模式
查看>>