gpt4 book ai didi

c# - 带分隔符的字节正则表达式

转载 作者:行者123 更新时间:2023-11-30 23:18:39 25 4
gpt4 key购买 nike

我有字符串,例如 3D-F2-C9-A6-B3

这是我的正则表达式,我已经通过在线正则表达式测试器对其进行了验证:

^([0-9A-Fa-f]{2}[-]){0,}$

问题是,示例字符串 3D-F2-C9-A6-B3-4F 无效。我必须在末尾添加一个减号,例如 3D-F2-C9-A6-B3-4F-

如何更改正则表达式必须设置中间的分隔符但最后没有分隔符?

最佳答案

最好的方法是稍微展开它:

^[0-9A-Fa-f]{2}(?:-[0-9A-Fa-f]{2})*$

参见 regex demo

详细信息:

  • ^ - 字符串的开始
  • [0-9A-Fa-f]{2} - 定义集中的 2 个字符
  • (?:-[0-9A-Fa-f]{2})* - 零个或多个序列
    • - - 文字连字符
    • [0-9A-Fa-f]{2} - 定义集中的 2 个字符
  • $ - 字符串结尾(更好的选择是 \z 以匹配字符串的结尾)

C# demo :

var pattern = @"^[0-9A-Fa-f]{2}(?:-[0-9A-Fa-f]{2})*\z";
var input = "3D-F2-C9-A6-B3";
var matched = Regex.IsMatch(input, pattern); // = > True

关于c# - 带分隔符的字节正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40762297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com