Javascript正则表达式提取特定单词后面引号之间的所有字符

Javascript正则表达式提取特定单词后面引号之间的所有字符,javascript,regex,string,match,Javascript,Regex,String,Match,我有以下案文: s.events="event3" s.pageName="Forum: Index" s.channel="forum" s.prop1="Forum: Index" s.prop2="Index Page" s.prop36="" s.prop37="" s.prop38="" s.prop39="" s.prop40="53" s.prop41="Anonymous" s.prop42="username" s.prop43="" s.prop47="" s.eVar1="

我有以下案文:

s.events="event3"
s.pageName="Forum: Index"
s.channel="forum"
s.prop1="Forum: Index"
s.prop2="Index Page"
s.prop36=""
s.prop37=""
s.prop38=""
s.prop39=""
s.prop40="53"
s.prop41="Anonymous"
s.prop42="username"
s.prop43=""
s.prop47=""
s.eVar1="Forum: Index"
s.eVar2="Index Page"
s.eVar36=""
s.eVar37=""
保存在javascript中的一个变量中,我想提取s.prop42的引号之间的文本,并给出结果:

"username"
我现在拥有的是

    var regex = /\?prop.42="([^']+)"/;
    var test = data.match(regex);
但它似乎不起作用,有人能帮我吗?

用这个:

var myregex = /s\.prop42="([^"]*)"/;
var matchArray = myregex.exec(yourString);
if (matchArray != null) {
    thematch = matchArray[1];
} 
在中,查看右侧窗格中的捕获组

解释

  • s\.prop42=“
    匹配
    s.prop42=“
    (但我们不会检索它)
  • ([^“]*)
    中的括号将非
    的任何字符捕获到组1:这是我们想要的
  • 代码获取组1捕获

    • 无法对上述答案发表评论,但我认为正则表达式与。*类似:

      var myregex = /s\.prop42="(.*)"/;
      var matchArray = myregex.exec(yourString);
      if (matchArray != null) {
          thematch = matchArray[1];
      }
      

      你为什么要尝试匹配一个字面上的问号?为什么不允许在以双引号结尾的字符串中使用单引号?不客气,谢谢您的绿色复选标记!:)