-2

我从来没有在 javascript 中使用过正则表达式,我想现在是时候了。

我需要搜索window.location它是否有我需要的参数 - start=SOME_NUMBER。如果搜索返回 true,我需要将start=SOME_NUMBERbt 返回给我并将其存储在变量中。

好的是,我可以自己创建模式,但不好的是我不知道如何用 javascript 编写代码。所以,我基本上不知道在哪里以及如何使用我的模式。

如果有人能给我一个关于javascript如何与正则表达式一起工作的简要解释,我将非常感激。

谢谢。

编辑:

此外,如果模式不匹配任何内容,我希望变量返回空。

4

3 回答 3

1

Regular-Expressions.info 有一个很棒的Javascript 分解。结合它的Flavor comparison,你几乎可以写任何你需要的东西。享受!

于 2012-12-28T20:57:20.863 回答
1

您可以使用该string.match(regexp)功能。我在这里有一个小提琴http://jsfiddle.net/E7frT/

var matches = window.location.toString().match(/[^\w]start=(\d+)/i);
// above we are using a case insensitive regexp with numbers as a matching group
// indicated with the parenthesis, this makes it possible to extract that part of
// the match

var start = null;
if(matches) {
  start = matches[1];
  // The matches will be an array if there were any, the zero index will contain
  // the entire match index one onward will be any matching groups in our regexp

}
// start will be null if no match or the number (as a string) if there is a match
于 2012-12-28T21:03:30.203 回答
0

您可以使用以下命令查找“start=NUMBER”

String(window.location).match(/start=[0-9]+/g);

它将返回整个“start = NUM​​BER”,但在那里过滤数字应该不难。

于 2012-12-28T21:05:16.250 回答