1

我真的很难使用正则表达式,我正在尝试进行字符串搜索并获取使用正则表达式找到的值。

在这一点上,我使用了很多.indexOf()等等.substring()来实现我想要的,但它似乎相当昂贵。

因此,为了描述我想要的内容,我将首先说明我知道以下部分subject.replace(/\bwid=([^&]*)/g, "wid=1234");:将遍历字符串,在字符串中找到wid=它,它将替换它之后的任何内容,直到它首先遇到&我需要的任何内容。

现在我想要的有点不同,我有这个模式:/q=/; 可以在字符串的某处找到。我的价值将在:之后=和之前 我需要在字符串中搜索类似的内容,而不是替换它,只需从那里获取值,以便我可以使用它。//q=some_value_here/

我已经尝试过/\b!q=/=([^/]*)/了,但显然我需要在那里逃避一些东西并改变它,因为它不太好用:)有人能帮忙吗?关于正则表达式这个主题,我在哪里可以找到一些关于如何使用它的好教程?

编辑:字符串示例:http://rgr-ashley.vertica.dk/us/en-us/search#!/q=/test

4

1 回答 1

2

使用这个:

var matches = str.match(/\!\/q=\/([^/]*)/)

该值位于索引1matches

您需要转义/( 作为/正则表达式文字的结尾),我不知道您为什么要放置 the!和第二个=.

于 2013-05-29T10:51:33.960 回答