javascript正则表达式在字符串中查找id
我试图从字符串javascript正则表达式在字符串中查找id,javascript,regex,Javascript,Regex,我试图从字符串/path1/path2/something/ID/7272/more/path/8282/category/3131解析ID,问题是字符串可能一直不同,但/ID/*的非常部分始终相同。所以我试图用下面的正则表达式来实现它,但它似乎不起作用 new RegExp(/^./\//ig/^\d+$/) 匹配后,结果应该是7272您的正则表达式应该是“/id/(\\d+)” 组:1只需使用字符串的/id/部分进行匹配: var str='/path1/path2/something
/path1/path2/something/ID/7272/more/path/8282/category/3131
解析ID,问题是字符串可能一直不同,但/ID/*
的非常部分始终相同。所以我试图用下面的正则表达式来实现它,但它似乎不起作用
new RegExp(/^./\//ig/^\d+$/)
匹配后,结果应该是
7272
您的正则表达式应该是“/id/(\\d+)”
组:1只需使用字符串的
/id/
部分进行匹配:
var str='/path1/path2/something/id/7272/more/path/8282/category/3131';
console.log(str.match(/\/id\/(\d+)/)代码>那么,到目前为止你做了什么?结果是什么?看,遵循同样的想法。顺便说一句,ig
!=<代码>id
看起来容易多了。@eisbehr不,这个正则表达式中没有错误。记住regex独立于任何语言。这是正则表达式的原始格式。当我在Java中使用上述正则表达式时,我必须将其转义为:javascript中的“/id/(\\d+”,它应该是:/\/id\/(\d+)/有一个Javscript标记。这是特定于语言的。@Archer我知道,但我说的是“你的正则表达式”,这意味着我是用正则表达式的原始语法写的。我个人会删除这个答案,因为它有误导性。你需要指定前面的\/
,否则这也会发现/anotherid/666/
可能属于用例,是的。在他的例子中,这不是问题。我将扩展答案。。。thx@Archer无需担心:-)。