Ker*_*nes 24

你可以使用lookbehind(不是在Javascript中):

(?<=cID=)[^&]*
Run Code Online (Sandbox Code Playgroud)

或者您可以使用分组并抓住第一组:

cID=([^&]*)
Run Code Online (Sandbox Code Playgroud)


pol*_*nts 12

一般来说,要完成这样的事情,你至少有3个选择:

  • 使用外观,因此您可以精确匹配要捕获的内容
    • 不幸的是,在Javascript中没有任何后盾
  • 使用捕获组捕获特定字符串
    • 几乎普遍支持所有口味
  • 如果一切都失败了,你可以随时拿一场substring比赛
    • 如果要切割的前缀/后缀的长度是已知常量,则效果很好

参考


例子

鉴于此测试字符串:

i have 35 dogs, 16 cats and 10 elephants
Run Code Online (Sandbox Code Playgroud)

这些是一些正则表达式模式的匹配:

您还可以执行多次捕获,例如:

  • (\d+) (cats|dogs)得到2个匹配结果(请参阅rubular.com)
    • 结果1: 35 dogs
      • 第1组捕获 35
      • 第2组捕获 dogs
    • 结果2: 16 cats
      • 第1组捕获 16
      • 第2组捕获 cats


gna*_*arf 6

使用 JavaScript,您需要在正则表达式中使用捕获组(将要捕获的部分放在里面()

var url = 'http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&';

var match = url.match(/cID=([^&]*)/);
// ["cID=876XYZ964D293CF", "876XYZ964D293CF"]

// match[0] is the whole pattern
// match[1] is the first capture group - ([^&]*)
// match will be 'false' if the match failed entirely
Run Code Online (Sandbox Code Playgroud)