0

我有这样的字符串:

var p = '<img src="/quizs-schol/headimages/4194.png?id=51a2f7aec61ac" style="height:30px; width:40px;"> Online free quiz';

我需要提取这个:

<img src="/quizs-schol/headimages/4194.png?id=51a2f7aec61ac" style="height:30px; width:40px;">

我怎样才能做到这一点?

4

3 回答 3

6

试试这个正则表达式:

<[^>]+>

和示例代码:

match = inputString.match(/<[^>]+>/);
if (match != null) {
    matchedText = match[0];
} else {
    // Match attempt failed
}

解释:

[abc]字符组匹配组内的任何单个字符,这将匹配单个a,bc.
[^abc]当字符组内的第一个符号是^时,它被否定。这将匹配 a,b或之外的任何字符c

于 2013-05-27T06:27:32.773 回答
0

我总是使用 jQuery 来做到这一点。这很简单。

var str = '<img src="/quizs-schol/headimages/4194.png?id=51a2f7aec61ac" style="height:30px; width:40px;"> Online free quiz';
var imgs = $("<div>" +str +"</div>").find("img");
于 2013-05-27T07:10:17.680 回答
0

在这个特定的字符串上,你可以这样做:

var extracted = p.match(/<[^>]+>/)[0]

但在更一般的情况下,正则表达式在处理 HTML 时显得非常有限。

于 2013-05-27T06:23:39.493 回答