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你说得对,没有想到这一点。如果括号之间只有数字,这是一个解决方案:)。。。