是否有可能:
美国专利6,570,557检索3组:
到目前为止,我得到了:
(US)(\s{1}Patent\s{1})(\d{1},\d{3},\d{3})
并且正在尝试(?!,)
摆脱逗号然后我有效地摆脱了整数。
答案 0 :(得分:9)
尝试:
var input = 'US Patent 6,570,557',
matches = input.match(/^(\w+) (\w+) ([\d,]+)/),
code = matches[1],
name = matches[2],
numb = matches[3].replace(/,/g,'');
答案 1 :(得分:2)
您可以使用2个简单的函数来代替使用正则表达式:
var str = "US Patent 6,570,557"; // Your input
var array = str.split(" "); // Separating each word
array[2] = array[2].replace(",", ""); // Removing commas
return array; // The output
这也应该更快。
答案 2 :(得分:0)
匹配时不能忽略逗号,除非您将数字作为三个独立的部分进行匹配,然后将它们连接在一起。
最好从与String.replace
的匹配结果中删除分隔符中的分隔符。
答案 3 :(得分:0)
只需添加更多组:
(US)(\s{1}Patent\s{1})(\d{1}),(\d{3}),(\d{3})
然后连接最后3组