javascript - 正则表达式 - 获取特定字符串后的数字

标签 javascript regex

我有一个文本字符串,可以是任意数量的字符,我想在末尾附加一个订单号。然后我可以在需要再次使用时摘下订单号。由于数字有可能是可变长度的,我想做一个正则表达式来捕获字符串 ?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];

但请记住,正则表达式很慢。尽可能使用 indexOfsubstring/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/

相关文章:

javascript - 如何在 Shiny 中创建一个弹出窗口来警告用户选择一种类型的文件扩展名?

php - preg_match : ensure the start and the end contains something

java正则表达式仅匹配0-9的列表,顺序很重要

regex - 用于检测 C++ 模板的 emacs lisp 正则表达式

javascript - React : Dynamic number of stateful items, 又名处理 "Rendered more hooks than during the previous render"

javascript - 在位于 SRC 文件夹的 index.html 文件中注册一个 service-worker - ReactJS

javascript - sailsjs Waterline ORM 中的外键条件

带有变量的 Javascript 复杂正则表达式

用于拆分和匹配的正则表达式命令

javascript - 维基百科 API - 词义