我今天早些时候需要一个utililty函数来从文件中删除一些数据并编写一个适当的常规表达式来完成它.输入是一个包含许多行格式的文件:
<11 * ascii character value> <11 characters> 00C4F244 75 6C 74 73 3E 3C 43 75 72 72 65 ults>我想删除最后11个字符的所有内容并使用以下表达式:
"^[0-9A-F+]{8}[\\s]{2}[0-9A-F\\s]{34}"这与我不想要的位相匹配,然后我从原始字符串中删除了这些位.我想看看你是怎么做到的,但我无法工作的特定领域是:
1:让正则表达式引擎返回我想要的字符而不是我没有的字符
2:找到一种方法,在单个ascii值后跟空格重复匹配(例如"75"= [0-9A-F] {2} [\ s] {1}?)并重复11次而不是抓住34个字符.
再看一遍,最容易做的就是匹配每个输入行的最后11个字符,但这不是很灵活,为了学习正则表达式,我想看看你是如何从一开始就匹配的序列.
编辑:谢谢大家,这就是我想要的:
"(?:^[0-9A-F]{8} )(?:[0-9A-F]{2} ){11} (.*)"希望我能让你不止一个人变绿.
1> Gumbo..:由于文件具有固定格式,因此您可以使用此正则表达式来匹配最后11个字符.
^.{44}(.{11})