我正在写一些条件来完成不同的任务。例如,如果字符串等于 案例1,“/ Livestock”,然后打印“任务一”。 案例2,“/ Livastock /”+最后的其他内容,然后打印“任务二”。 否则,打印“任务三”。 好像我们使用.test()来检查正则表达式,但是如何将它放在switch语句中?
答案 0 :(得分:1)
你没有清楚地描述你的问题。所以我假设你的字符串(var str
)在
case1: "task one", str=="Livestock"
case2: "task two", str starts with "Livestock" and there are something after it.
case3: "task three", not in above two cases
然后你可以:
var flag=str=="Livestock"?1:str.search(/^Livestock/)==0?2:3;
现在标志有1, or 2 or 3
,因此您可以在switch语句中查看它。
如果我错误地理解了您的问题,请留下评论,看看我是否能解决问题。
答案 1 :(得分:0)
$
表示字符串的结尾(如果您在RegEx中使用特定的开关,则表示行的结尾)。
var ends_w_livestock = /\/Livestock\/?$/,
continues_after_livestock = /\/Livestock\/[^?#]+/;
现在,第一个允许测试以“/ Livestock”或“/ Livestock /”结尾的URL。
第二个允许测试包含“/ Livestock /”但后来至少还有一个字符的URL,这不是“?”或“#”。
然后,你要使用if或者三元作业,或者你想做的任何事情来测试每一个。