如果我有URL contstruct
/ SomePart /#/组别1 /组2
我需要返回group1和/或group2,即url可以是 / SomePart /#/组别1 要么 / SomePart /#/组别1 /组2
目前的正则表达式只有第一部分,不知道如何扩展到后者。
SomePart\/\#\/([a-zA-Z0-9_-]+)
答案 0 :(得分:0)
你需要使用正则表达式吗?通常使用正则表达式是过度的。几行代码比正则表达式更快,更易于维护。
如果您的语言有分割方法,只需使用它并检查生成的数组中的最后两项。
arr = url.split("/")
if arr[len-2] == "#":
# There is only one group, so return arr[len-1]
else:
# Return the last two elements of the array as Group1 and Group2
这个伪代码可能是一个很好的起点。在分手时,适用的引用:
“调试是写入的两倍 代码首先。 因此,如果您将代码编写为 尽可能巧妙地,你是 定义,不够智能调试 它。“ - Brian Kernighan
拯救你聪明的东西:)