我正在尝试编写一个简单的正则表达式,以匹配以下具有类似条件的网址:
var array:JsonArray? = JsonArray()
我对正则表达式不太有经验,关于如何实现此表达式的任何建议将非常有帮助。
答案 0 :(得分:3)
您可以使用此正则表达式,该正则表达式将根据您的要求进行匹配,
https:\/\/www\.example\.com\/en\/signup\/(?:\?type=(?:xyz|abc))?$
说明:
https:\/\/www\.example\.com\/en\/signup\/
-从字面上匹配https://www.example.com/en/signup/
URL (?:\?type=(?:xyz|abc))?
-这部分可选地匹配参数?type=
,其值只能是xyz
或abc
,否则将失败$
-字符串结尾JS代码演示
const arr = ['https://www.example.com/en/signup/','https://www.example.com/en/signup/?type=xyz','https://www.example.com/en/signup/?type=abc','https://www.example.com/en/signup/?type=abc1','https://www.example.com/en/signup/?type=other']
arr.forEach(s => console.log(s + " --> " + /https:\/\/www\.example\.com\/en\/signup\/(?:\?type=(?:xyz|abc))?$/.test(s)))