Javascript 获取方括号中第一个匹配的数字
我有一个字符串,类似于下面的Javascript 获取方括号中第一个匹配的数字,javascript,regex,Javascript,Regex,我有一个字符串,类似于下面的woocommerce\u click\u和\u pick\u shipping\u branch[1],我想使用regEx获得方括号之间的数字 我尝试了以下方法,但没有成功: 替换([^\[\]]+)(?=\]\[^\]]+\]$)您可以使用以下选项: var str = "woocommerce_click_and_pick_shipping_branch[14432]".match(/\[(\d*)\]/); if (str) { console.log(
woocommerce\u click\u和\u pick\u shipping\u branch[1]
,我想使用regEx获得方括号之间的数字
我尝试了以下方法,但没有成功:
替换([^\[\]]+)(?=\]\[^\]]+\]$)
您可以使用以下选项:
var str = "woocommerce_click_and_pick_shipping_branch[14432]".match(/\[(\d*)\]/);
if (str) {
console.log(str[1]); // 14432
}
您可以这样做: 这将在字符串中循环,当它找到整数时,
if
语句为true
,它将返回数字
var str= "woocommerce_click_and_pick_shipping_branch[1234]";
var number="";
for (i=0; i<str.length; i++) {
if (str[i] % 1 === 0){
number +=str[i];
}
}
alert(number);
var str=“woocommerce\u点击并选择装运分公司[1234]”;
var数=”;
对于(i=0;i是否需要第一个数字(如123中的1)或数字(如123)?如果需要整数,则:s.replace(/^[^\[]*\[\\].[\\].$/g,”)
将完成此任务。它将获取字符串中[]
之间的第一组字符。最后一行应防止不匹配,例如:console.log(str?str[1]:“”)
。更简洁的想法:console.log(str&&str[1]);
@TheIronDeveloper这是一个选项,但它将返回null或字符串,它们是不同的类型。当您将其用作变量时,它会更有用,您可以在其中添加一个受保护的条件:var value=(str&&str[1])| |‘“
@TheIronDeveloper不再那么简洁,而var value=str?str[1]:”
是等效的;-)当方括号外有数字时,这不起作用。@JoshCrozier你说得对,没有想到这一点。如果括号之间只有数字,这是一个解决方案:)。。。