例如,對於一個字符串:正則表達式 - 結合貪婪和懶惰模式
http://www/host/a/b/c/topic/d/e/f/topic/last.html
我想要得到「B」和「C」,這是前第一「主題」的字符串值的值。
如果我使用:.+/(.+)/(.+)/topic/(.+)
,我會得到「e」和「f」。我知道這是貪婪的模式,所以它匹配第二個「主題」。但是,如果我更改爲懶惰模式,如.+?/(.+?)/(.+?)/topic/(.+)
,它仍然無法正常工作。
例如,對於一個字符串:正則表達式 - 結合貪婪和懶惰模式
http://www/host/a/b/c/topic/d/e/f/topic/last.html
我想要得到「B」和「C」,這是前第一「主題」的字符串值的值。
如果我使用:.+/(.+)/(.+)/topic/(.+)
,我會得到「e」和「f」。我知道這是貪婪的模式,所以它匹配第二個「主題」。但是,如果我更改爲懶惰模式,如.+?/(.+?)/(.+?)/topic/(.+)
,它仍然無法正常工作。
我傾向於使用更多的東西一樣:
[^/]+/([^/]+)/([^/]+)/topic/(.+)
的想法是不是匹配任何字符,你匹配到下一個斜線。括號[]
定義了一個字符類,代字號~
意味着'不',所以[^/]
匹配除斜槓之外的所有內容。
它的工作原理。使用這個「([^ /] +)/([^ /] +)/ topic /(.+)」。感謝您的快速響應。 – fkpwolf