是否可以采用 URL 字符串并使用 regEx 返回partTwo
?
A: http://www.example.com/part1/part-two
B: http://www.example.com/part0/part-two/
C: http://www.example.com/part1/part-two/?id=1
D: http://www.example.com/part1/part-two.html/?id=1
注意:将第二部分更改为第二部分(删除 - 并将下一个字符变为大写)
听起来像“最后一部分”,您的意思是“查询字符串之前或最后一个斜杠之后的部分,如果没有查询字符串”,对吗?
好吧,你可以用这个找到最后一个斜线后面的位: /([^\/]+)$/
您可以像这样找到斜线和第一个问号之间的位:/([^\/]+)\?/
。
但是,这些都不起作用,例如 D,因为它在查询字符串之前有另一个斜线。对于那个例子,你需要这样的东西:/([^\/]+)\/\?/
所以如果我们把所有这些结合起来,我们会得到这样的结果: /([^\/]+)(?:\/?\?|$)/
至于转换为驼峰式大小写,您必须单独进行,并且没有可以为您大写的正则表达式;您需要使用正则表达式来一一捕获所有连字符-字母组合,并将它们替换为匹配的字母.toUpperCase
。
编辑刚刚意识到我给你的正则表达式与 B 不匹配。所以你需要在最后一个斜杠的另一个案例,这使得最终的正则表达式如下:/([^\/]+)\/?(?:\?|$)/
。这表示“匹配一串非斜杠后跟可能是斜杠,然后肯定后跟一个问号或字符串的结尾”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句