【发布时间】:2023-03-14 04:53:01
【问题描述】:
好的,这可能是一个非常愚蠢的问题,但我似乎找不到可行的答案,所以如果答案很明显,请原谅我的无知。我想要的只是一个正则表达式,它将精确匹配一个十六进制值 8 次。所以我尝试了这样的事情:
我的正则表达式:
[0-9a-fA-F]{8}
示例输入:
D651000000060D60FADF0DFCE080E020636263633534623231386339
示例失败输入(当我不希望它匹配给定的正则表达式时):
........@%........$dc073bcc-6aa5
但由于某种原因,这对我不起作用。据我了解,{8} 应该与前面的正则表达式匹配 8 次......但这似乎在 C# 或 notepad++ 中都不起作用。
提前致谢!
【问题讨论】:
-
你对“十六进制值”的定义是什么?
-
一个字符,0-F(或 f,因为我不关心大小写)
-
将我想要的正则表达式想象为匹配一个字节,通过 ascii 字符串表示。
-
"A character, 0-F" - 您的正则表达式 确实 匹配文本中任意位置的 8 个十六进制数字。 “认为我想要匹配一个字节的正则表达式” - 一个字节由 两个 十六进制数字表示,不是吗?
-
对,不假思索地打字。 8 位十六进制数字。但这不是问题的重点,8 个字符分别是 0-9、a-f 或 A-F