以下の表現を使いました
str.match(tag+"(\s*=\s*)((['"]*)(.+?)(['"]*)\1)");
str は照合する文字列、tag は変数です。
たとえば、上記の式は一致する必要があります
m="img"
m='img'
タグ= m;
しかし、上記の行で私は得ています
SyntaxError:予期しないトークン ]
以下の表現を使いました
str.match(tag+"(\s*=\s*)((['"]*)(.+?)(['"]*)\1)");
str は照合する文字列、tag は変数です。
たとえば、上記の式は一致する必要があります
m="img"
m='img'
タグ= m;
しかし、上記の行で私は得ています
SyntaxError:予期しないトークン ]
正規表現の末尾から /1 を削除すると、m="img" で機能します。
m(\s*=\s*)((['\"]*)(.*)(['\"]*))
"\1" は、パターン内の最初のサブパターンの値に置き換えられるため、m="img";m='img' に一致させたい場合は、次を使用する必要があります。
(m\s*=\s*)((['\"]*)(.*)(['\"]*)\1)
ここで、m はタグ変数です。
編集:ここで
JavaScript 正規表現をテストできます。
m = '''img'''
これらすべての点を考慮に入れると、次の解決策が得られる可能性があります。
var tag = 'm';
"m='img'".match(tag+"(\s*=\s*)((['\"]?)(.+?)\\3)")
// ["m='img'", "=", "'img'", "'", "img"]