例如,对于字符串:
http://www/host/a/b/c/topic/d/e/f/topic/last.html
我希望获得“b”和“c”的值,它们是FIRST“主题”之前的字符串值。
如果我使用:.+/(.+)/(.+)/topic/(.+)
,我会得到“e”和“f”。我知道它是贪婪的模式,所以它匹配第二个“主题”。但是,如果我改为惰性模式,如.+?/(.+?)/(.+?)/topic/(.+)
,它仍然无效。
答案 0 :(得分:0)
我倾向于使用更像的东西:
[^/]+/([^/]+)/([^/]+)/topic/(.+)
这个想法不是匹配任何字符,而是匹配下一个斜杠。括号[]
定义了一个字符类,代字号~
,意思是'不',所以[^/]
匹配除了斜杠之外的所有内容。
答案 1 :(得分:0)