使用正则表达式标记化并获取任意数字令牌



我对正则表达式不是很熟悉,遇到了一个超出我范围的问题。我想帮助想出一个表达式,该表达式标记字符串,然后从末尾开始计算任意标记。

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

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

所以,我想要第二个和第三个倒数第二个标记,分隔符是"-"。

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

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

但是您可能真的不需要正则表达式来执行此操作。只需在-上拆分字符串即可获得所需的项目。使用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"]

最新更新