javascript - 查找包含字母和标点符号的特定字符串后面的数字

标签 javascript regex string substring

我正在尝试找到一种方法来提取 abc/ 紧接 / 之后以及任何其他字母、数字或标点符号之前出现的数字。

例如:

abc/134567/something 应该返回 1234567

abc/1234567?foo=bar 应该仍然只返回 1234567

blah/1234/abc/678 应该只返回 678 因为我只寻找成功的数字 abc/

我知道有两个选项:正则表达式或子字符串匹配。

为了执行子字符串匹配,我需要索引点,但我对仅仅执行 indexOf("abc/") 持怀疑态度,因为它只返回第一个字母的索引 - a - 可以出现在字符串的其他地方。

对于正则表达式,我一直在努力,因为我发现搜索字母和斜杠的混合似乎会导致它返回 null。

那么最好的方法是什么?

最佳答案

你可以使用这个正则表达式:

var rgx = new RegExp("abc\/([0-9]+)","gi");

然后:

var m = rgx.exec("abc/1234567?foo=bar");
console.log(m[0]);

评论后编辑

关于javascript - 查找包含字母和标点符号的特定字符串后面的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46039319/

相关文章:

javascript - 我得到体育冠军和第三名的空值

java - 将正则表达式匹配添加在一起

Java String.join 还要在末尾添加分隔符

javascript - 可以在 jQuery .scroll() 事件处理程序中使用 if-else 吗?

javascript - 如何在 react-router v4 中保留查询参数

javascript - 错误 : [$compile:tpload] Failed to load template: uib/template/pagination/pagination. html(HTTP 状态:404 未找到)

Java 字符串连接 - 有更好的方法吗?

regex - 如何使用testthat以未知顺序测试多个警告?

c++ - 如何编写正则表达式来匹配 ((11 3) (96 15) (2 3) )

C++ : String + integer path