开发者

Regex to return single attribute from string

Using javascript, can someone plea开发者_运维技巧se help me with a pattern to match something in this string:

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

My goal is to extract the value for key, in this case: ABC\jones

So, everything between

key="

and

"

Thanks for the help!!


something like:

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

should match

the tailing " is for completeness so that it matches key="..." and not just key="...

As for how this is working, the normal characters are them selves, the [^"] defines a match group of all characters that are not " ( the ^ being not ). So this will match everything after a key=" until it collides with a ". The ( ) capture the matched values for later recall.


Couldn't you just do this?

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


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);

That works... Does it have to be using regex?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜