我有一个文本字符串,可以是任意数量的字符,我想在末尾附加一个订单号。然后我可以在需要再次使用时摘下订单号。由于数字有可能是可变长度的,我想做一个正则表达式来捕获字符串 ?order_num=
=
符号之后的所有内容
所以整个字符串就是
"aijfoi aodsifj adofija afdoiajd?order_num=3216545"
我曾尝试使用在线正则表达式生成器,但没有成功。有人可以帮我提取最后的数字并将它们放入一个变量中,然后将 ?order_num=203823
之前的内容放入它自己的变量中。
我会发布一些我自己的尝试,但我预见到失败和困惑。
最佳答案
var s = "aijfoi aodsifj adofija afdoiajd?order_num=3216545";
var m = s.match(/([^\?]*)\?order_num=(\d*)/);
var num = m[2], rest = m[1];
但请记住,正则表达式很慢。尽可能使用 indexOf
和 substring
/slice
。例如:
var p = s.indexOf("?");
var num = s.substring(p + "?order_num=".length), rest = s.substring(0, p);
关于javascript - 正则表达式 - 获取特定字符串后的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10889391/