不区分大小写的单词 Javascript 的正则表达式

Regex for case insensitive word Javascript

有没有简单的方法从自由格式文本中提取值?

我正在尝试从中提取值:

"The process started from ITEM: ASDE3423423, Item Group: A_GROUP, ITEM Function: ['/A/B/C'], Price Code: average."

我需要 o/p,它们位于基于键(例如 ITEM、Item Group)的“:”之后

ITEM = ASDE3423423
Item Group = A_GROUP
ITEM Function = ['/A/B/C']
Price Code = average

我正在使用:

ITEM:\s*([^,]+)
Item Group:\s*([^,]+)
ITEM Function:\s*([^,]+)
Price Code:\s*([^,]+)

并用“:”拆分字符串并获取给定键的 str[1](例如 ITEM、Item Group)

有没有更好的方法来做到这一点?

而不是 return 完整匹配并将其拆分 return 捕获组。

// DATA STRING
var str = 'The process started from ITEM: ASDE3423423, Item Group: A_GROUP, ITEM Function: [\'/A/B/C\'], Price Code: average.',

// REGEX
reg = /ITEM:\s*([^,]+)|Item Group:\s*([^,]+)|ITEM Function:\s*([^,]+)|Price Code:\s*([^,]+)/g;

// GET MATCH
match = reg.exec(str);

// LOOP MATCH
while(match != null) {
  
  // LOG MATCH
  console.log(match[0])
  
  // TRY FOR NEXT MATCH
  match = reg.exec(str);
  
}