Javascript正则表达式##x##
我试图得到一个正则表达式,它从字符串中提取格式 例如,“5x7(+50美元)”或“20x24(+70美元)”。有没有更简单的办法拔出##x#或#x# 下面是当前的代码示例……正如您将看到的,子字符串不一定适用于所有测试用例Javascript正则表达式##x##,javascript,regex,Javascript,Regex,我试图得到一个正则表达式,它从字符串中提取格式 例如,“5x7(+50美元)”或“20x24(+70美元)”。有没有更简单的办法拔出##x#或#x# 下面是当前的代码示例……正如您将看到的,子字符串不一定适用于所有测试用例 var example = "5x7 ($50)"; var ex_arr = example.split("x"); console.log(ex_arr[0]); console.log(ex_arr[1].substring(0, 2)); 试试这个: ^(\d+)
var example = "5x7 ($50)";
var ex_arr = example.split("x");
console.log(ex_arr[0]);
console.log(ex_arr[1].substring(0, 2));
试试这个:
^(\d+)x(\d+)\s.*$
这里有一把小提琴演示:
捕获1是第一个数字,捕获2是第二个数字。其他一切都被丢弃。可以
.match(/(\d+)/x(\d+)/)
如果它们之间总是有空格,就在空格上再次拆分,然后得到第一个值。ex\u arr[1].split(/\s/).shift()
@NiettheDarkAbsol看起来不错,我要在这一个上用@Niet the Dark Absol。@NiettheDarkAbsol确实,如果符合询问者的需要,可以将其缩短为^(\d+)x(\d+)\s
,甚至^(\d+)x(\d+)
,但我希望更彻底。:)