正则表达式与可变部分完全匹配

时间:2019-09-30 14:29:51

标签: regex

我有几个字符串等于:

data-ecommerce-content-id="5d7e7cb9-2f79-454d-9d8f-7a35566a3eb6" data-ecommerce-path="/firstvariable/secondvariable" data-ecommerce-row="1"

其中firstvariablesecondvariable包含字母,数字和“-”

我希望能够捕获:

/firstvariable/secondvariable

我尝试过:

^data-ecommerce-path=".*("{1})$

但是它没有输出任何匹配项

(我正在使用python)

2 个答案:

答案 0 :(得分:2)

尝试

data-ecommerce-path="([^"]+)"

(仅当您从头到尾匹配所有内容时,锚点才会起作用。)

答案 1 :(得分:1)

您的正则表达式已关闭。

^字符表示字符串的开头,$字符表示字符串的结尾。由于所需的匹配项位于字符串的中间,因此您可以将两者都删除。

然后,仅捕获双引号之间的文本,请尝试以下操作:"(.*?)"

您的完整模式应如下所示:data-ecommerce-path="(.*?)"

那么您想要的文本将位于捕获组1中。类似:match.group(1)