arrays - 字符串数组的正则表达式
问题描述
我是这个领域的新手,正在尝试编写单行正则表达式模式作为创建 json 模板的一部分,该模板将接受“字符串数组”的模式:
["9H", "0000", "0000", "10123", "7809", "0000", "0000"]
到目前为止,我已经找到了单个元素的正则表达式,比如"^[0-9][A-Z]$"
第一个元素、"^[0-9]{4}$"
第二个元素等等。
但是我需要指定一个字符串模式,该模式接受一个包含 7 个此类元素的数组,而每个元素中的整数/字符数没有任何变化。(即,"10123"
可以"12345"
但不应该"123456"
。
解决方案
正则表达式适用于字符串,因此这意味着您有两种选择:
- 将您的整个数组转换为一个大字符串(例如
arr.join('|')
),以便您可以编写 1 个大的正则表达式来测试它。 - 不要这样做。只需手动编写第一个元素的代码,然后遍历其余元素并为每个部分使用适当的正则表达式。
#2对我来说更有意义。可能需要更多代码,但该代码会更清晰。
推荐阅读
- javascript - 如何在 Node-RED 中拆分 JSON 字符串后提取值
- react-native - undefined 不是一个对象(评估'_firebase.firebase.firestore
- amazon-web-services - SQS 上的审核消息
- oracle - 单一模式中的 TDE 多个主加密密钥
- angular - angular7 ag-grid this.http 是未定义的错误
- jekyll - Jekyll CMS 将语言数据文件插入另一个数据文件
- scroll - 如何启用 QBasic 输出窗口的滚动条?
- javascript - 选择下拉列表中的复选框后如何清除 v-autocomplete(多个)搜索输入?
- angular - 如何使用formbuilder获取离子选择多个数据并将其发布为数组
- loops - 启动 .exe 后继续运行批处理循环