使用 JavaScript regex 在方括号(和前面的文本)中查找多个值

用户888734

给定一个这样的字符串:

"fieldNameA[fieldValueA] fieldNameB[fieldValueB] fieldNameC[fieldValueC]"

我正在寻找一个正则表达式(或两个),它将允许我构建一组键值对,例如

fieldNameA : "fieldValueA"
fieldNameB : "fieldValueB"
fieldNameC : "fieldValueC"
  • 值将始终在方括号中。
  • 方括号将始终位于字段名称之前
  • 字段名称的长度可能不同

我试过类似的东西:

const reg = new RegExp("fieldNameA|fieldNameB|fieldNameC\[(.*?)\]", "gi");
const matches = reg.exec(query);

但这不起作用。我只得到一个具有一个值的数组:“fieldNameA”

维克多·斯特里比尤夫

您可以使用以下解决方案:

var query = "fieldNameA[fieldValueA] fieldNameB[fieldValueB] fieldNameC[fieldValueC]";
var matches = {}, m;
var reg = /(\w+)\[(.*?)]/gi;
while(m=reg.exec(query)) { 
  matches[m[1]] = m[2];
}
console.log(matches);

您需要使用正则表达式文字,否则"\["将变成"["并且不再匹配文字[

此外,要匹配所有出现的情况,您需要RegExp#exec在循环中运行 a

图案详情

  • (\w+)- 第 1 组:一个或多个单词字符(如果要匹配不能以数字开头的标识符,请替换为[_a-zA-Z]\w*
  • \[ - 一个字面意思 [
  • (.*?)- 第 2 组:除换行符以外的任何 0+ 个字符(如果您需要匹配任何字符 but ],请使用[^\]]*
  • ]- 文字]字符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript / regex:删除方括号之间的文本

来自分类Dev

如何在Javascript中使用REGEX删除空格,方括号和之间的所有内容

来自分类Dev

如何使用javascript和regex查找“ mergefields”?

来自分类Dev

使用javascript和regex在html中查找div

来自分类Dev

使用javascript和regex在html中查找div

来自分类Dev

如何使用 regex101 PHP 在正则表达式中处理/突出显示/标记多个方括号 ()、{}、[] 和 «»

来自分类Dev

使用javascript和regex验证日期时间

来自分类Dev

使用javascript和regex删除停用词

来自分类Dev

使用JavaScript进行RegEx匹配和分离

来自分类Dev

使用javascript和regex验证日期时间

来自分类Dev

使用javascript和regex删除停用词

来自分类Dev

使用Regex验证Javascript中的价格

来自分类Dev

javascript split()使用regEx

来自分类Dev

使用javascript和regex将原始html转换为文本

来自分类Dev

如何使用python regex匹配放在方括号中的多个元素?

来自分类Dev

在Javascript中添加多个变量以使用RegEx函数

来自分类Dev

在Javascript中添加多个变量以使用RegEx函数

来自分类Dev

PHP Regex替换方括号和方括号之间的文本

来自分类Dev

JavaScript Regex排除括号

来自分类Dev

如何在javascript中使用regex、match和exec从文本中删除重复项

来自分类Dev

使用JavaScript RegEx验证输入

来自分类Dev

使用regex / javascript提取姓氏

来自分类Dev

使用javascript regex提取指定类的href值(单独)

来自分类Dev

使用Javascript,.test和RegEx评估/?s =的URL

来自分类Dev

使用javascript和regex删除带有特定字符的行

来自分类Dev

如何使用JavaScript和RegEx解析复杂的BibTex项目

来自分类Dev

使用javascript和regex验证电话号码

来自分类Dev

如何使用Regex仅在Javascript中删除单个类?

来自分类Dev

RegEx不在使用JavaScript的现场测试仪中工作

Related 相关文章

  1. 1

    Javascript / regex:删除方括号之间的文本

  2. 2

    如何在Javascript中使用REGEX删除空格,方括号和之间的所有内容

  3. 3

    如何使用javascript和regex查找“ mergefields”?

  4. 4

    使用javascript和regex在html中查找div

  5. 5

    使用javascript和regex在html中查找div

  6. 6

    如何使用 regex101 PHP 在正则表达式中处理/突出显示/标记多个方括号 ()、{}、[] 和 «»

  7. 7

    使用javascript和regex验证日期时间

  8. 8

    使用javascript和regex删除停用词

  9. 9

    使用JavaScript进行RegEx匹配和分离

  10. 10

    使用javascript和regex验证日期时间

  11. 11

    使用javascript和regex删除停用词

  12. 12

    使用Regex验证Javascript中的价格

  13. 13

    javascript split()使用regEx

  14. 14

    使用javascript和regex将原始html转换为文本

  15. 15

    如何使用python regex匹配放在方括号中的多个元素?

  16. 16

    在Javascript中添加多个变量以使用RegEx函数

  17. 17

    在Javascript中添加多个变量以使用RegEx函数

  18. 18

    PHP Regex替换方括号和方括号之间的文本

  19. 19

    JavaScript Regex排除括号

  20. 20

    如何在javascript中使用regex、match和exec从文本中删除重复项

  21. 21

    使用JavaScript RegEx验证输入

  22. 22

    使用regex / javascript提取姓氏

  23. 23

    使用javascript regex提取指定类的href值(单独)

  24. 24

    使用Javascript,.test和RegEx评估/?s =的URL

  25. 25

    使用javascript和regex删除带有特定字符的行

  26. 26

    如何使用JavaScript和RegEx解析复杂的BibTex项目

  27. 27

    使用javascript和regex验证电话号码

  28. 28

    如何使用Regex仅在Javascript中删除单个类?

  29. 29

    RegEx不在使用JavaScript的现场测试仪中工作

热门标签

归档