是否有任何简单的方法可以从自由格式文本中提取值?
我正在尝试从中提取值(value):
"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)
有没有更好的方法来做到这一点?
最佳答案
返回捕获组,而不是返回完整的匹配项并将其拆分。
// 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);
}
关于javascript - 不区分大小写的单词 Javascript 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50140628/