查找单引号或双引号id属性regex的值

时间:2016-10-27 23:09:37

标签: regex search

我正在尝试编写一个脚本,该脚本将遍历文件树并收集所有id属性值(id =" value")。我想使用正则表达式收集和列出这些值。这就是我想出的:

id=\'(.*?)\' - for singe quotes

id=\"(.*?)\" - for double quotes

我想弄清楚的是如何将这两者合并为一个,所以它会找到用单引号或双引号括起来的值。

2 个答案:

答案 0 :(得分:1)

使用反向引用:

id=(["'])(.*?)\1
  • 现在已捕获的第2组((.*?)),即\2将具有您想要的值。

  • (["'])"'中的任何一个匹配并放入捕获的组1,\1最后确保我们正在寻找与第一个被捕获的小组

Demo

答案 1 :(得分:0)

这是一个非常简单的解决方案example here

id=\'([^']*)\'|id=\"([^"]*)\"

(.*)代替([^']*)寻找任何东西,而不是寻找除撇号之外的任何东西。