我有以下div:

<div id = "zone-2fPromotion-2f" class = "promotion">


我怎样才能最终获得2f的价值,实际上这是Promotion的价值,我又该如何获取它?

我在用

this.match = this.id.match(/(Promotion)-([0-9a-f]{2})/);


但这并没有给我确切的结果,但是它给了我(Promotion-2f,Promotion,2f)数组,但这不是我所需要的。任何指导,以及是否有任何指导我可以参考正则表达式的良好在线资源,都将非常有帮助和赞赏。

最佳答案

那就是你想要的。匹配的结果首先是表达式的整个匹配部分,然后是各个组。因此,由于您要检索第2组(()的第二批),只需执行

this.match = this.id.match(/(Promotion)-([0-9a-f]{2})/)[2];


另外,我发现的最佳在线参考是http://www.regular-expressions.info/

编辑:您可以只在推广中忽略(),因为您不必担心要退还该部分,请执行此操作

this.match = this.id.match(/Promotion-([0-9a-f]{2})/)[1];

关于javascript - javascript正则表达式问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2774432/

10-15 23:08