我有以下URLs
:
www.domain.com/hello-username-world
www.domain.com/welcome-username-back
slash /
之后的部分有以下 RegEx :
([^-]+)-([^-]+)-(world|back)
我想要做的是,如果第一组([^-]+)
是hello
,那么只接受第三组中的world
,如果它是welcome
,那么只有back
{1}}
像这样 RegEx :
((hello-([^-]+)-world)|(welcome-([^-]+)-back)|)
但无需定义first group
值,并使third group
取决于first group
的值
可以使用单个RegEx
吗?
答案 0 :(得分:1)
你可以试试这个
[^\n]*?(?:(hello)|(welcome))[^\n]*(?(1)world|(?(2)back))
Demo ,,,尝试匹配并捕获hello
或welcome
并分别检查模式world
或back
以获取捕获结果。