javascript - 从长字符串中提取两项的正则表达式

标签 javascript java regex linux

有些字符串具有以下格式,

{abc=1234457, cde=3,  label=3352-4e9a-9022-1067ca63} <chve>  abc?  123.456.789, http=appl.com 

我想提取12344573352-4e9a-9022-1067ca63,分别对应abclabel分别。

这是我一直在尝试使用的 javascript,但它不起作用。我认为正则表达式部分是错误的。

var headerPattern = new RegExp("\{abc=([\d]*),,label=(.*)(.*)");
if (headerPattern.test(row)) {
   abc = headerPattern.exec(row)[0];
    label = headerPattern.exec(row)[1];
}

最佳答案

尝试:abc=(\d*).*?label=([^}]*)

说明

  • abc= 文字匹配
  • (\d*) 抓到一些数字
  • .*? 惰性匹配
  • label= 文字匹配
  • ([^}]*) 捕获所有不是右括号的东西

关于javascript - 从长字符串中提取两项的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36464493/

相关文章:

javascript - 使用javascript匹配几个字符后的非数字

javascript - 如何从 Cypress 的测试文件中抽象出公共(public)功能

javascript - 检测用户拥有何种带宽的最佳方法?

javascript - 如何通过 txID 查找交易 (node.js)

php - 使 javascript 适应表单

python - 如果字符串列表中的字符与正则表达式匹配,如何将其更改为小写?

java - FindViewById 在一行中多次

java - 想要将多个 JSON 对象存储到 jsonArray 并将结果作为单个字符串获取

java - 为什么我们不能在多重继承(java)中不创建派生类的对象的情况下调用基类构造函数

java - java问题中的正则表达式,多个匹配项