正则表达式从字符串返回单个属性

时间:2011-06-30 20:15:36

标签: javascript regex

使用javascript,有人可以帮我一个模式来匹配此字符串中的内容:

div style="display: none" key="ABC\jones" displaytext="Tom Jones"

我的目标是提取密钥的值,在这种情况下:ABC\jones

所以,介于

之间的一切
key="

"

感谢您的帮助!!

3 个答案:

答案 0 :(得分:12)

类似的东西:

/ key="([^"]*)"/

应匹配

尾随"是为了完整性,以便它与key="..."匹配,而不仅仅是key="...

至于它是如何工作的,普通字符是自己的,[^"]定义了一个不是"的所有字符的匹配组(^不是)。因此,这将匹配key="之后的所有内容,直到它与"发生碰撞。 ( )捕获匹配的值以供以后调用。

答案 1 :(得分:4)

难道你不能这样做吗?

document.getElementById("my_div").getAttribute("key")

答案 2 :(得分:-1)

var str = 'div style="display: none" key="ABC\jones" displaytext="Tom Jones"';

var start = str.indexOf('key="') + 'key="'.length;
var end = str.indexOf('"', start + 1);

var result = str.substring(start, end);

有效......是否必须使用正则表达式?