好的,所以这可能是一个荒谬的愚蠢问题,但我似乎无法找到可行的答案,所以如果答案显而易见,请原谅我的无知。我想要的是一个正则表达式,它将匹配十六进制值正好8次。所以我尝试过这样的事情:
我的正则表达式:
[0-9a-fA-F]{8}
示例输入:
D651000000060D60FADF0DFCE080E020636263633534623231386339
示例失败输入(当我不想要时,我的给定正则表达式匹配):
........@%........$dc073bcc-6aa5
但由于某种原因,这对我不起作用。根据我的理解,{8}
应该匹配前面的正则表达式8次...但这似乎不适用于C#或记事本++。
提前致谢!
答案 0 :(得分:7)
如果你想要6个十六进制字符,那么你的问题会有点混乱:8次:
([0-9a-fA-F]{6}){8}
或8位十六进制字符:
如果您不想要8个字符,请 [0-9a-fA-F]{8}
或[0-9a-fA-F]{4,8}
。
我建议测试:
如果这些没有得到它,你可以发布你想要匹配的值的样本(请注意,如果你在记事本++中有多行,你还需要寻找换行符)
答案 1 :(得分:1)
更直接的答案!我将在这些示例中使用的字符集是从 0 到 9 的所有数字,只是为了简单起见。
[0-9]{8}
[0-9]{8}[0-9]*
(先匹配 8 次,然后匹配任意次数)您可以在这里测试:https://regexr.com/