如何在正则表达式中使用OR语句

-1 投票
2 回答
57 浏览
提问于 2025-04-14 17:07

我有两个链接,我需要从中提取出部件编号(partNumber)。我遇到的问题是,在第一个链接中,部件编号在链接的末尾,而在第二个链接中,它是在查询参数中,格式是 partNumber=。

https://www.opsm.com.au/ProductDisplay?urlRequestType=Base&catalogId=12601&categoryId=3074457345616695670&seoNameToken=air-optix-colors-2pk&langId=-1&manufacturer=AIR+OPTIX&facetTokenValue=facet-lifecycle%3DMONTHLY&partNumber=ac-airoptix-colors-2&storeId=10151

https://www.opsm.com.au/womens-sunglasses/ov5514su-kasdan/827934482050

.*(?<=partNumber=)([\w-]+)

Output : ac-airoptix-colors-2

这是我尝试过的正则表达式,但这个只适用于第一个链接。我该如何添加一个“或”条件,以便能提取第二个链接中的最后一个数字呢?

2 个回答

0

在正则表达式中,的意思是用|来表示的。

0

你可以使用

(?<=partNumber=)[\w-]+|(?<=/)\d+$

查看这个 正则表达式示例

详细信息

  • (?<=partNumber=)[\w-]+ - 在 partNumber= 这个字符串后面,匹配一个或多个字母、数字或连字符。
  • | - 或者
  • (?<=/)\d+$ - 在字符串末尾的 / 后面,匹配一个或多个数字。

撰写回答