8

好的,所以这可能是一个可笑的愚蠢问题,但我似乎找不到可行的答案,所以如果答案很明显,请原谅我的无知。我想要的只是一个正则表达式,它将精确匹配一个十六进制值 8 次。所以我尝试了这样的事情:

我的正则表达式:

 [0-9a-fA-F]{8}

样本输入:

 D651000000060D60FADF0DFCE080E020636263633534623231386339

示例失败输入(当我不想要它时,我给定的正则表达式匹配):

 ........@%........$dc073bcc-6aa5

然而由于某种原因,这对我不起作用。据我了解,{8}应该匹配前面的正则表达式 8 次......但这似乎在 C# 或 notepad++ 中都不起作用。

提前致谢!

4

2 回答 2

13

你的问题有点令人困惑,如果你想要 6 个十六进制字符,8 次:

([0-9a-fA-F]{6}){8}

或 8 位十六进制字符:

[0-9a-fA-F]{8}或者[0-9a-fA-F]{4,8} 如果您不想要求 8 个字符。

我建议测试:

http://gskinner.com/RegExr/

如果这些不明白,您能否发布您尝试匹配的值的示例(请注意,如果您在记事本++ 中的多行中有这些值,您还需要寻找换行符)

于 2012-04-05T23:23:29.773 回答
1

更直接的答案!为了简单起见,我将在这些示例中使用的字符集都是从 0 到 9 的数字

  • 匹配所有数字,8 次: [0-9]{8}
  • 匹配所有数字,8 次或更多:( [0-9]{8}[0-9]*先匹配 8 次,然后匹配任意次数)

你可以在这里测试:https ://regexr.com/

于 2021-05-08T21:03:28.960 回答