正则表达式条件:如果group = x则为else

时间:2015-06-11 18:18:01

标签: regex

我想要正则表达以下

foo: "/bar/baz/index.html";

"可能是',显然你必须同时使用相同的字符,因此foo: "...'无法工作。

这就是我已经拥有的

/templateUrl:[ ]*(['"])[a-z0-9äöü.-_\/\\]*['"][ ]*;/gi
                  ^capture group 1          ^-- here

是否可以在here处执行以下操作:

if capture group 1 == ' then search for '
else if capture group 1 == " then search for "

2 个答案:

答案 0 :(得分:3)

简单,只需引用第一个捕获的组。

/templateUrl: *(['"])[a-z0-9äöü.-_\/\\]*\1 *;/gi

答案 1 :(得分:3)

使用back reference到捕获的组1 ..即\1

/templateUrl:[ ]*(['"])[a-z0-9äöü.-_\/\\]*\1[ ]*;/gi
                   ↑                      ↑
           (captured group 1)       (back reference)

请参阅DEMO