繁体   English   中英

正则表达式匹配已分割为多行的哈希

[英]Regex match a hash that has been split over multiple lines

我想匹配一个由作者包装的字符串,并通过多行接收。

例:

SHA256:AB76235776BC87DBAB76235776BC87DBAB76235776BC87
DBAB76235776BC87DB

已经收到。 像我这样匹配sha256哈希的常用正则表达式当然是:[0-9A-Fa-f] {64}

但这不起作用。 我想在搜索此匹配时保持文件不被修改,有关如何匹配拆分哈希而不删除换行符的任何想法?

我想要一个正则表达式,基本上说'寻找64个连续的十六进制值,但允许混合中的一个或多个换行符,kthx'

提前致谢。 C#是语言。

尝试这个:

\b(?:[a-fA-F0-9]\s*){64}\b

它允许任何类型的空格,而不仅仅是行分隔符。 如果它真的只允许行分隔符,你可以使用:

\b(?:[a-fA-F0-9][\r\n]*){64}\b

这还将包括数字后面的行分隔符(如果有),以及后跟单词字符。 你可以像这样阻止:

\b(?:[a-fA-F0-9][\r\n]*){63}[a-fA-F0-9]\b

更改正则表达式以包含换行符:

[A-Z0-9a-z\\r\\n ]{64, }

您可以修改上限以包含对换行符数量的限制。
在这种情况下,您需要记住,换行符可以是2个符号长,具体取决于机器文化和操作系统。

1个换行符 - > 66个字符
2个换行符 - > 68个字符
尽可能多地继续。

在旁注。 解析文件时,通常会让它休息。 您使用读入文件的变量进行所有修改。 这就是为什么我没有看到保持线路的重点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM