Javascript 在字符串中查找两个数字

Javascript 在字符串中查找两个数字,javascript,regex,dynamics-crm-2013,Javascript,Regex,Dynamics Crm 2013,这是我上一个问题的后续问题,可以在这里找到 我发布了一个新问题,因为我得到的答案是正确的,但我的下一个问题是如何进一步 基本上我有一串数据,在这些数据的某个地方会有以下内容: Width = 70 Void = 40 实际数字可能在1-440之间 从我之前的问题中,我发现了如何使用正则表达式识别这两个数字,并将它们放在单独的字段中,然而,我现在的问题是字符串可能包含例如 Part Number = 2353 Length = 3.3mm Width = 70 Void = 35 D

这是我上一个问题的后续问题,可以在这里找到

我发布了一个新问题,因为我得到的答案是正确的,但我的下一个问题是如何进一步

基本上我有一串数据,在这些数据的某个地方会有以下内容:

Width = 70
Void = 40 
实际数字可能在1-440之间

从我之前的问题中,我发现了如何使用正则表达式识别这两个数字,并将它们放在单独的字段中,然而,我现在的问题是字符串可能包含例如

Part Number = 2353

Length = 3.3mm

Width = 70

Void = 35

Discount = 40%
我的问题是,

如何仅识别宽度+空隙并将其放入两个单独的字段中,我前面问题中的答案无法解决此问题,因为在本例中,我将有一个大小为4的数组,我只需选择第2个和第3个空格

这不适合我的问题,因为数组的长度可能因字符串而异,因此我需要一种方法来专门识别

Width = ##
Void = ##
从那里,我们可以单独检索数字,并将其放入我的单独字段中


我在CRM Dynamics中使用JavaScript

您可以使用此正则表达式以任意顺序将输入与
宽度
无效
匹配:

/(\b(Width|Void) += *(\d+)\b)/

您的变量名和值在捕获的组中可用。

您可以使用此正则表达式以任何顺序将输入与
宽度
无效
匹配:

/(\b(Width|Void) += *(\d+)\b)/
Width\s+=\s+(\d+)|Void\s+=\s+(\d+)

您的变量名和值在捕获的组中可用。

您可以使用此正则表达式以任何顺序将输入与
宽度
无效
匹配:

/(\b(Width|Void) += *(\d+)\b)/
Width\s+=\s+(\d+)|Void\s+=\s+(\d+)

您的变量名和值在捕获的组中可用。

您可以使用此正则表达式以任何顺序将输入与
宽度
无效
匹配:

/(\b(Width|Void) += *(\d+)\b)/
Width\s+=\s+(\d+)|Void\s+=\s+(\d+)
您的变量名和值在捕获的组中可用

Width\s+=\s+(\d+)|Void\s+=\s+(\d+)
您可以试试这个。抓取捕获。请参阅演示

您可以试试这个。抓取捕获。请参阅演示

您可以试试这个。抓取捕获。请参阅演示

您可以试试这个。抓取捕获。请参阅演示


一个更简单的选择是将整个字符串转换为一个对象,并从该对象获取所需的内容

str=“零件号=2353\n”+
“长度=3.3毫米\n”+
“宽度=70\n”+
“Void=35\n”+
“折扣=40%\n”;
数据={};
str.replace(/^(+?)\s*=\s*(.+)$/gm,函数(u$1,$2){
数据[$1]=$2;
});

警报(数据[宽度])一个更简单的选项是将整个字符串转换为一个对象,并从该对象获取所需的内容

str=“零件号=2353\n”+
“长度=3.3毫米\n”+
“宽度=70\n”+
“Void=35\n”+
“折扣=40%\n”;
数据={};
str.replace(/^(+?)\s*=\s*(.+)$/gm,函数(u$1,$2){
数据[$1]=$2;
});

警报(数据[宽度])一个更简单的选项是将整个字符串转换为一个对象,并从该对象获取所需的内容

str=“零件号=2353\n”+
“长度=3.3毫米\n”+
“宽度=70\n”+
“Void=35\n”+
“折扣=40%\n”;
数据={};
str.replace(/^(+?)\s*=\s*(.+)$/gm,函数(u$1,$2){
数据[$1]=$2;
});

警报(数据[宽度])一个更简单的选项是将整个字符串转换为一个对象,并从该对象获取所需的内容

str=“零件号=2353\n”+
“长度=3.3毫米\n”+
“宽度=70\n”+
“Void=35\n”+
“折扣=40%\n”;
数据={};
str.replace(/^(+?)\s*=\s*(.+)$/gm,函数(u$1,$2){
数据[$1]=$2;
});

警报(数据[宽度])您好,谢谢您的回答和链接,这确实有助于更好地理解它!我现在的问题是,我将从这里走向何方?链接中的代码显示它有一个匹配项,但我如何将宽度编号放入一个字段,将空白编号放入另一个字段?谢谢@Anubhava有什么特别的原因让你把选项分开吗
(\b(Width | Void)\s*?=\s*?(\d+)\b)
将产生相同的结果-正如我在评论中所写的那样,在使用上述正则表达式调用
String#match
后,这些值在结果匹配数组中可用。@Andreas:非常感谢,是的,它更短了。我用它编辑了我的答案。嗨,谢谢你的答案和链接,这真的有助于更好地理解它!我现在的问题是,我将从这里走向何方?链接中的代码显示它有一个匹配项,但我如何将宽度编号放入一个字段,将空白编号放入另一个字段?谢谢@Anubhava有什么特别的原因让你把选项分开吗
(\b(Width | Void)\s*?=\s*?(\d+)\b)
将产生相同的结果-正如我在评论中所写的那样,在使用上述正则表达式调用
String#match
后,这些值在结果匹配数组中可用。@Andreas:非常感谢,是的,它更短了。我用它编辑了我的答案。嗨,谢谢你的答案和链接,这真的有助于更好地理解它!我现在的问题是,我将从这里走向何方?链接中的代码显示它有一个匹配项,但我如何将宽度编号放入一个字段,将空白编号放入另一个字段?谢谢@Anubhava有什么特别的原因让你把选项分开吗
(\b(Width | Void)\s*?=\s*?(\d+)\b)
将产生相同的结果-正如我在评论中所写的那样,在使用上述正则表达式调用
String#match
后,这些值在结果匹配数组中可用。@Andreas:非常感谢,是的,它更短了。我用它编辑了我的答案。嗨,谢谢你的答案和链接,这真的有助于更好地理解它!我现在的问题是,我将从这里走向何方?链接中的代码显示它有一个匹配项,但我如何将宽度编号放入一个字段,将空白编号放入另一个字段?谢谢@Anubhava有什么特别的原因让你把选项分开吗
(\b(Width | Void)\s*?=\s*?(\d+)\b)
将产生相同的结果-正如我在注释中所写的那样,调用
String#ma后,这些值在结果匹配数组中可用