首页 > 解决方案 > 字符串数组的正则表达式

问题描述

我是这个领域的新手,正在尝试编写单行正则表达式模式作为创建 json 模板的一部分,该模板将接受“字符串数组”的模式:

["9H", "0000", "0000", "10123", "7809", "0000", "0000"]

到目前为止,我已经找到了单个元素的正则表达式,比如"^[0-9][A-Z]$"第一个元素、"^[0-9]{4}$"第二个元素等等。

但是我需要指定一个字符串模式,该模式接受一个包含 7 个此类元素的数组,而每个元素中的整数/字符数没有任何变化。(即,"10123"可以"12345"但不应该"123456"

标签: arraysjsonregexstringqregularexpression

解决方案


正则表达式适用于字符串,因此这意味着您有两种选择:

  1. 将您的整个数组转换为一个大字符串(例如arr.join('|')),以便您可以编写 1 个大的正则表达式来测试它。
  2. 不要这样做。只需手动编写第一个元素的代码,然后遍历其余元素并为每个部分使用适当的正则表达式。

#2对我来说更有意义。可能需要更多代码,但该代码会更清晰。


推荐阅读