首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式教程,我如何改进这一点

正则表达式教程,我如何改进这一点
EN

Stack Overflow用户
提问于 2009-02-24 14:51:40
回答 6查看 225关注 0票数 1

今天早些时候,我需要一个实用函数来从文件中剥离一些数据,并编写了一个令人震惊的常规表达式来做到这一点。输入的是一个包含很多行的文件,其格式如下:

代码语言:javascript
复制
<address> <11 * ascii character value>      <11 characters>
00C4F244  75 6C 74 73 3E 3C 43 75 72 72 65  ults><Curre

我想去掉除结尾的11个字符之外的所有内容,并使用以下表达式:

代码语言:javascript
复制
"^[0-9A-F+]{8}[\\s]{2}[0-9A-F\\s]{34}"

这与我不想要的部分匹配,然后我从原始字符串中删除了这些部分。我很想看看你是如何做到这一点的,但我不能工作的特定领域是:

1:让正则表达式引擎返回我想要的字符,而不是我不想要的字符

2:找到在后跟空格的单个ascii值上重复匹配的方法(例如"75“= 0-9A-F{2}\s{1}?)重复11次,而不是抓取34个字符。

再看一遍,最简单的事情是匹配到每一个输入行的最后11个字符,但这不是很灵活,为了学习正则表达式,我想看看如何从序列的开始进行匹配。

编辑:谢谢各位,这就是我想要的:

代码语言:javascript
复制
"(?:^[0-9A-F]{8}  )(?:[0-9A-F]{2} ){11} (.*)"

希望我能让你们中不止一个人变绿。

EN

Stack Overflow用户

发布于 2009-02-24 14:58:50

最后11个是:

代码语言:javascript
复制
...........$

或者:

代码语言:javascript
复制
.{11}$

匹配十六进制字节+空格并重复11次:

代码语言:javascript
复制
([0-9A-Fa-f]{2} ){11}
票数 2
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/582033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档