我是这个领域的新手,正在尝试编写一个单行regex模式,作为创建json模板的一部分,该模板将接受"字符串数组"的模式:
["9H", "0000", "0000", "10123", "7809", "0000", "0000"]
到目前为止,我已经找到了单个元素的正则表达式,比如第一个元素的"^[0-9][A-Z]$"
,第二个元素的"^[0-9]{4}$"
等等
但我需要指定一个字符串模式,接受7个这样的元素的数组,而不改变每个元素中整数/字符的数量。(即,"10123"
可以是"12345"
,但不应该是"123456"
。
正则表达式处理字符串,因此这意味着您有两个选项:
- 将整个数组转换为一个大字符串(例如
arr.join('|')
(,这样您就可以编写一个大正则表达式来测试它 - 不要这样做。只需手动写出第一个元素的代码,然后循环遍历其余元素,并为每个部分使用适当的正则表达式
#2对我来说更有意义。可能是更多的代码,但代码会更清晰。