使用Javascript的匹配函数来提取字符串的一部分

时间:2014-05-27 12:49:58

标签: javascript regex

我是正则表达式的傻逼,我已经了解了一些关于它们的事情,但我无法理解它们。我需要从一些HTML代码中提取字符串的一部分,但我不知道如何使用正则表达式来完成它。

我知道str.match()函数接受正则表达式或字符串并返回它。我想用这个函数来提取部分字符串。

这是我的代码:

<img src="images/1.jpg" class="imgs" />
<img src="images/2.jpg" class="imgs" />
<img src="images/3.jpg" class="imgs" />

<script>
    var str = document.getElementsByClassName('imgs');  // str that is being matched
    var re = /^"images/.*"$/;
    var res = str[0].match(re);    // returns undefined is not a function
</script>

'images / 1.jpg'来自与数字一致的数组。即。 'images / 1.jpg','images / 2.jpg'。

我想提取“images /(num).jpg”,无论它是多少,我都需要用数字提取“图像”。最终结果应为“images /(num).jpg”。

是否可以使用str.match和正则表达式或其他一些技术来使用它?

1 个答案:

答案 0 :(得分:1)

如果图像永远是jpg,你可以这样做:

<img src="images/1.jpg" class="imgs" />
<img src="images/2.jpg" class="imgs" />
<img src="images/3.jpg" class="imgs" />

<script>
    var str = document.getElementsByClassName('imgs');  // str that is being matched
    var re = /images\/[0-9]+\.jpg/g
    var res = str[0].src.match(re)[0];    
</script>

这将返回您正在寻找的字符串。