【问题标题】:How to extract in elegant way the string using the regular expression in JavaScript?如何使用 JavaScript 中的正则表达式以优雅的方式提取字符串?
【发布时间】:2015-12-09 16:56:55
【问题描述】:

我有以下脚本作为文本获取: http://pastebin.com/c8XHN27N

如何使用正则表达式从中剪切/提取所需的 URL?

我需要从上面的脚本中获取下一个值: t="https://s3.amazonaws.com/s3.maketutorial.com/users/7a75f78cb4644e4188ad82d063b1f54b/settings.txt"

【问题讨论】:

  • 是常量字符串吗?我查看了您检索到的 JavaScript 文件,您似乎想要检索键“walkme_custom_user_settings_”的值,对吗?

标签: javascript regex string extract


【解决方案1】:

不知道这是不是你想要的。但这将帮助您从脚本文件中提取所有 url

var src = "...";
var reg = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim
var urls = src.match(reg);
console.log(urls);
/* [
    "http://www.walkme.com/",
    "https://localhost/mt/resources/",
    "https://localhost/mt/lib/maketutorial_lib.js",
    "https://d3b3ehuo35wzeh.cloudfront.net",
    "https://s3.amazonaws.com/s3.maketutorial.com/users/7a75f78cb4644e4188ad82d063b1f54b/settings.txt"
] */

https://regex101.com/r/aD4lW7/1

【讨论】:

    【解决方案2】:

    你传递的脚本中有3个t var,里面的值都是一样的,所以没办法区分。

    然后我们可以用一个简单的方法来选择 3 个中的第一个:

    script = "...";
    tVar = script.match(/t="[^"]*"/)[0] || '';
    console.log(tVar); 
    // "t="https://s3.amazonaws.com/s3.maketutorial.com/users/7a75f78cb4644e4188ad82d063b1f54b/settings.txt""
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多