正则表达式 - 匹配一个单词并捕获该单词

时间:2014-04-24 08:03:20

标签: regex regex-greedy

我在HTML页面中有以下代码:

src="/images/picture1.gif"  ONMOUSEOVER="itempopup(event,'69168298'
src="/images/picture2.gif"  ONMOUSEOVER="itempopup(event,'69168223'
src="/images/picture3.gif"  ONMOUSEOVER="itempopup(event,'69168243'
src="/images/picture4.gif"  ONMOUSEOVER="itempopup(event,'69168249'
src="/images/pic1.gif"  ONMOUSEOVER="itempopup(event,'69168249'
src="/images/pictures10.gif"  ONMOUSEOVER="itempopup(event,'69168249'

我想建立一个带有图片+数字的GIF单词的地图 - > {picture1 = 69168298,picture2 = 69168223 ...} 我试图抓住单词图片+数字,但我没有找到正确的组合。 示例:^(图片。)+ $,^((图片)。)+ $,^(?'图片'。)$。提前谢谢!

3 个答案:

答案 0 :(得分:1)

有这样的事情:

/(picture[0-9]+).*'([0-9]+)'/

你将捕获" picture1"和" 69168298"

答案 1 :(得分:1)

这是因为您使用^$字符限制字符串。请按以下步骤操作:

(pic(ture)?s?\d+).*?event,'(\d+)'

\1\3抓取的群组将分别包含图片名称和事件ID

Demo

上面的正则表达式匹配您的示例中的案例,例如pic1pictures10,甚至是pics123

答案 2 :(得分:1)

/(pic。)。gif。 \'(\ d +)/ gi可能会有效。