我用一個簡單的模式,我需要匹配的最大值3串或2至少可選非捕獲組正則表達式
掙扎它可以是:
banana-split.taste
或者
banana.taste
我想要的是在點之前和之後的一切。 但是,如果一個連字符發生點之前在字符串中存在,我想在
隨着我的例子連字符和點之間的字符串時,它會導致這樣的:
例1
match[1] = banana
match[2] = split
match[3] = taste
例2
match[1] = banana
match[2] =
match[3] = taste
我想什麼是使用正向前查找/落後,但我覺得我用很糟糕
(.+)(?<=\-)(.*?)?\.(.+)
有了這個,我能得到很好的第一個例子,而不是第二
當你捕捉'banana.taste'你希望有'品嚐'在'比賽[2]'或'比賽[3]'?我在問你如何以編程方式處理匹配數組。這將決定最適合您的情況的正則表達式函數和模式。 – mickmackusa
我正在處理它通過isseting $ match [2]。用@WiktorStribiżew方法,它進展順利! – Plotisateur