我正在尝试从Steam的网址获取ID,现在我遇到了一些可选部分的问题。
当我开始这个时,所有网址都是这样的,我的正则表达式代码运行正常。
http://steamcommunity.com/market/listings/753/261680-%3Aberet%3A
正则表达式很容易得到753
的ID,261680-%3Aberet%3A
的哈希值和261680
的id部分。
现在有一些新的网址,我的正则表达式完全破坏了。
http://steamcommunity.com/market/listings/753/Coat%20of%20Arms%20-%20Yellow%20Farmer
我使用的正则表达式代码是:
/\/(\d+)\/((\d+)-.*?)($|\?)/
有没有办法让正则表达式主要作为第一个,获取两个id和完整哈希部分,但如果没有像在最后一个url中的第二个id,它只返回url。基本上,-
之前的第二个id部分应该是可选的。
对正则表达式的任何其他微观优化也会受到欢迎,我不是它的明星。