正则表达式:获取字符串周围的所有内容

时间:2016-04-12 09:51:22

标签: java regex

<font color="black">
<font color="red">
<font color="white">

我需要捕捉color="*"

周围的所有内容

使用color="(.*?)"我可以捕捉颜色属性,知道我必须反转它。

1 个答案:

答案 0 :(得分:1)

我假设您在JavaScript正则表达式中需要它(正则表达式的语言因语言而异)。 类似的东西:

var htmlText = '<font color="black">\n' +
               '<font color="red">\n' +
               '<font color="white">';
var colorRegEx = /color=["']+([^\"\']*)["']+/ig;
while(colorRegEx.exec(htmlText)) {
    console.log(RegExp.$1);     //Should give you: black, red, white
}

基本上正则表达式是:寻找&#39; color =&#39;然后至少1,单引号或双引号然后得到该值,直到我们看到另一个单引号或双引号。

虽然如果您在Web应用程序中正在做某事,您可能希望使用jQuery或其他一些JS库来帮助获取值。 e.g。

<div id="fred">
  <font color="black">Hello</font>
  <font color="red">I like</font>
  <font color="white">ice cream</font>
</div>

然后一些获取颜色值的jQuery将是:

$.each($('#fred').children(), function(index, item) {
    console.log($(item).prop('color'));
});