我有一个文本字符串,可以是任意数量的字符,我想将订单号附加到最后.然后,当我需要再次使用它时,我可以摘下订单号.由于数字可能是可变长度,我想做一个正则表达式,捕获=字符串中的符号之后的所有内容?order_num=
所以整个字符串都是
"aijfoi aodsifj adofija afdoiajd?order_num=3216545"
Run Code Online (Sandbox Code Playgroud)
我试过使用在线正则表达式生成器,但没有运气.有人可以帮我提取最后的数字并将它们放入一个变量中,并将之前的内容?order_num=203823放入自己的变量中.
我会发布一些自己的尝试,但我预见到失败和混乱.
Max*_*Art 19
var s = "aijfoi aodsifj adofija afdoiajd?order_num=3216545";
var m = s.match(/([^\?]*)\?order_num=(\d*)/);
var num = m[2], rest = m[1];
Run Code Online (Sandbox Code Playgroud)
但请记住,正则表达式很慢.使用indexOf和substring/ slice当你可以.例如:
var p = s.indexOf("?");
var num = s.substring(p + "?order_num=".length), rest = s.substring(0, p);
Run Code Online (Sandbox Code Playgroud)
Sim*_*erg 10
我认为不需要正则表达式:
var str="aijfoi aodsifj adofija afdoiajd?order_num=3216545";
var n=str.split("?");
Run Code Online (Sandbox Code Playgroud)
n那么将是一个数组,其中索引0在?之前?并且索引1在之后.
另一个例子:
var str="aijfoi aodsifj adofija afdoiajd?order_num=3216545";
var n=str.split("?order_num=");
Run Code Online (Sandbox Code Playgroud)
会给你结果:
n[0]= aijfoi aodsifj adofija afdoiajd和
n[1]=3216545