【问题标题】:Simple RegExp question - how to find keys [duplicate]简单的 RegExp 问题 - 如何找到键 [重复]
【发布时间】:2011-10-16 22:29:53
【问题描述】:

可能的重复:
Get query string values in JavaScript
Use the get paramater of the url in javascript

我有一长串 URL,在 URL 的一部分中我有一个命令,例如“KEY=123”。我想找到所有这些钥匙。

例如:/somecommand?ACTION=UPDATE&DATATYPE=1&KEY=462&NUMBER=123.5263&SOMEID=845&IDTYPE=1

如何做到这一点?我的想法只是搜索所有“关键”词并查找它旁边的数字 - 但我想这有更快的方法。

首选语言是 Javascript。

编辑:

网址杂乱无章,无法轻易从文本中推断出来。文字的一个小例子:

  1. 2011-07-29 01:17:55.965/somecommand?ACTION=UPDATE&DATATYPE=1&KEY=462&NUMBER=123.5263&SOMEID=845&IDTYPE=1 200 685ms 157cpu_ms 87api_cpu_ms 0kb ABCABC/2.0 CFNetwork/485.12.7 Darwin/10.4.0 Paros/3.2.13`>
  2. 2011-07-29 01:05:19.566 /somecommand?ACTION=UPDATE&DATATYPE=1&KEY=462&NUMBER=123.5263&SOMEID=845&IDTYPE=1 200 29ms 23cpu_ms 0kb ABCABC/2.0 CFNetwork/485.12.7 Darwin/10.4.0 Paros/3.2.13
  3. 2011-07-29 01:04:41.231 /somecommand?ACTION=UPDATE&DATATYPE=1&KEY=462&NUMBER=123.5263&SOMEID=845&IDTYPE=1 200 972ms 78cpu_ms 8api_cpu_ms 0kb ABCABC/2.0 CFNetwork/485.12.7 Darwin/10.4.0 Paros/3.2.13

【问题讨论】:

  • 这不是重复的 - 我的问题是我有一个 URL 列表,其中它们有点混乱 - 即 - 在 URL 周围有一些东西,所以我不能只出来URL 部分,并且必须在整个文本上运行。

标签: javascript regex


【解决方案1】:

您需要的 Javascript 类似于 -

var text = 'ACTION=UPDATE&DATATYPE=1&KEY=462&NUMBER=123.5263&SOMEID=845&IDTYPE=1&key=678';
var matches = text.match(/KEY=\d*|key=\d*/g);
for (i=0; i<matches.length; i++) {
   alert(matches[i]);
}

如果你只想要数字,你可以这样做 -

var text = 'ACTION=UPDATE&DATATYPE=1&KEY=462&NUMBER=123.5263&SOMEID=845&IDTYPE=1&key=678';
var matches = text.match(/KEY=\d*|key=\d*/g);
for (i=0; i<matches.length; i++) {
   alert(matches[i].toLowerCase().replace('key=',''));
}

【讨论】:

  • 工作就像一个魅力:) 我可以得到没有“KEY”部分的号码吗?非常感谢!!!
【解决方案2】:

如果您只对 KEY 值感兴趣:

var regex = new RegExp("KEY=(\d+)");
var result = regex.exec(window.location.href);

在您的情况下,结果将是“123”。如果你有多行,那么:

var regex = new RegExp("KEY=(\d+)", "gm");
var results = regex.exec(window.location.href);

在这种情况下,结果是一个数组。

【讨论】:

    【解决方案3】:
    a = "/somecommand?ACTION=UPDATE&DATATYPE=1&KEY=462&NUMBER=123.5263&SOMEID=845&IDTYPE=1";
    a.match(/KEY\=(\d+)/gi)
    

    【讨论】:

      猜你喜欢
      • 2011-04-14
      • 1970-01-01
      • 2018-11-10
      • 2021-05-21
      • 2011-10-04
      • 2011-07-19
      • 2011-11-18
      • 2019-04-20
      • 1970-01-01
      相关资源
      最近更新 更多