使用正则表达式进行Tokenize并获取任意数字标记

时间:2013-10-22 17:58:46

标签: regex

我对正则表达式不是很熟悉,遇到了一个超出我的问题。 我想帮助想出一个表达字符串的表达式,然后让我从头到尾计算任意的令牌。

例如,我想从以下字符串中获取P037-077

http://www.wayfair.com/George-Kovacs-by-Minka-Bling-Bling-1-Light-Wall-Sconce-P037-077-GKV1032.html

所以,我想要第二个和第三个最后一个标记,分隔符为“ - ”。

1 个答案:

答案 0 :(得分:0)

你可以使用这种正则表达式:

-([^-]*-[^-]*)-[^-]*$

但你可能真的不需要正则表达式来做到这一点。只需在-上拆分字符串即可获得所需的项目。使用Ruby :(使用您正在使用的任何语言实现它)

str = "http://www.wayfair.com/George-Kovacs-by-Minka-Bling-Bling-1-Light-Wall-Sconce-P037-077-GKV1032.html"
str.split("-")[-3..-2]
#=> ["P037", "077"]