RegEx按句子获取值数据

时间:2016-09-12 11:30:10

标签: regex node.js

Hello社区,

我正在试图弄清楚如何才能获得特定键的值。让我们说:

Item Number: 121225734541
transaction:: 1205737904002
Price: C $4.73 
Shipping price: Free

我只需要获取“:”char之后的值。

Key:项目编号,价值:121225734541

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

检查出来:https://jsfiddle.net/5buspznn/1/

var raw_data = 'Item Number: 121225734541\ntransaction: 1205737904002\nPrice: C $4.73\nShipping price: Free'

var data_object = {}

raw_data.split('\n').map(function (data_line) {
    var parsed = data_line.match(/(.*?):(.*)/)
    data_object[parsed[1]] = parsed[2].trim()
})

console.log(data_object)

返回:

Object {
    Item Number: "121225734541",
    transaction: "1205737904002",
    Price: "C $4.73",
    Shipping price: "Free"
}

答案 1 :(得分:0)

你走了:

([^:]+):\s*([^\n]+)
# anything not :
# followed by : and whitespaces, eventually
# anything not a newline

第一个捕获组占据您的key,第二个占据value 请参阅a demo on regex101.com