我有一個字符串(A) fdkf djkf gsdfjkg hsfl (B) jfg dkfjg hdksfjg dkfj (c) ndfkj gndfg ndfn (d) kdjfskdj fs;s dknls期望的輸出應該是這樣的4 group matched(A) fdkf djkf gsdfjkg hsfl(B) jfg dkfjg hdksfjg dkfj(c) ndfkj gndfg ndfn(d) kdjfskdj fs;s dknls請幫忙我正在嘗試/((.+?) (?=\())/正則表達式,但它沒有創建 4 個組我在這里嘗試創建這種模式 https://regex101.com/r/KxAcaV/1$re = '/((.+?) (?=\())/';$str = '(A) fdkf djkf gsdfjkg hsfl (B) jfg dkfjg hdksfjg dkfj (c) ndfkj gndfg ndfn (d) kdjfskdj fs;s dknls';preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0);// Print the entire match resultvar_dump($matches);
3 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
$str = '(A) fdkf djkf gsdfjkg hsfl (B) jfg dkfjg hdksfjg dkfj (c) ndfkj gndfg ndfn (d) kdjfskdj fs;s dknls';
preg_match_all('/\(.+?\).+?(?= \(|$)/', $str, $m);
print_r($m[0]);
輸出:
Array
(
[0] => (A) fdkf djkf gsdfjkg hsfl
[1] => (B) jfg dkfjg hdksfjg dkfj
[2] => (c) ndfkj gndfg ndfn
[3] => (d) kdjfskdj fs;s dknls
)
- 3 回答
- 0 關注
- 151 瀏覽
添加回答
舉報
0/150
提交
取消