我有一個這樣的字符串:如何在正則表達式中創建動態捕獲組?
$str ="
- group1
- group2
- group3
";
我也有這個regex:
/(\-\s\w+)\n(\-\s\w+)\n(\-\s\w+)/
如你所知,還有爲三個捕獲組:$1
,$2
和$3
。我手動製作了這些組。我的意思是如果我追加到上面的字符串:
- group4
- group5
然後,該正則表達式不匹配它們。
嗯,我有一個不變的模式:(\-\s\w+)
,我想在字符串中的匹配項目的數量創建分離捕獲組。野兔是幾個例子:
例1:
$str="
- group 1
";
我需要一個正則表達式的$1
給我所有的字符串。
例2:
$str="
- group 1
- group 2
";
我需要一個正則表達式的$1
和第二線(- group 2
)由$2
好了,給我的字符串(- group 1
)的第一線那麼,正如你在上面的例子中看到的那樣,字符串是動態的,但是它是根據consta nt模式...現在我想知道如何根據字符串創建動態捕獲組?
爲什麼要捕獲組? 'preg_match_all('/ - 。* /',$ str,$ matches);' – AbraCadaver
偶爾會出現這個問題。 PHP PCRE正則表達式中的每個捕獲組都沒有堆棧。如上所示使用多個匹配。總是有辦法解決這個限制。 –
呃,也許你正在做替換... – AbraCadaver