gpt4 book ai didi

regex - Excel VBA 正则表达式检查重复字符串

转载 作者:行者123 更新时间:2023-12-02 10:24:21 25 4
gpt4 key购买 nike

我有一些用户输入想要验证其正确性。用户应输入一组或多组字符,以逗号分隔。

所以这些是有效的输入

  • COM1
  • COM1,COM2,1234

这些无效

  • COM——只有 3 个字符
  • COM1,123 -- 一组只有 3 个字符
  • COM1.1234,abcd -- 点分隔符而不是逗号

我在 google 上搜索了一个正则表达式模式,发现了一个可能的模式,可以测试任意 3 个字符的重复实例,然后我像这样进行了修改

/^(.{4,}).*\1$/

但这并没有找到匹配项。

我可以管理在传递测试之前可能存在或可能不存在的最后一个逗号,以便它始终存在。

最好,我只想测试字母(任何大小写)和数字,但我可以接受任何字符。

我知道我可以轻松地通过直接 VBA 来完成此操作,在逗号分隔符上分割输入并循环遍历每个数组元素的每个字符,但正则表达式似乎更有效,而且我会遇到更多情况,而不是稍微不同的模式,因此参数化正则表达式会是更好的设计。

TIA

最佳答案

我相信这符合您的要求:

^([A-Z|a-z|0-9]{4},)*[A-Z|a-z|0-9]{4}$

它是一行开头,后跟零组或多组以逗号结尾的四个字母或数字,后跟一组四个字母或数字,最后是行尾。

您可以在这里尝试一下:https://regex101.com/r/Hdv65h/1

关于regex - Excel VBA 正则表达式检查重复字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42080683/

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