berkut
Новичок
PCRE незахватывающий поиск
Есть строки:
Satellite M35x-S149 (PSA72U-00T00U) Celeron M 340 1.5Ghz..........
VGN-A170-1756DW Pentium M 735 1.7A Ghz.........
Нужно выдернуть из 1-ой строки
Satellite M35x-S149
из 2-ой:
VGN-A170-1756DW
По идее, всё, что находится в (?=....) не должно заватываться и в этой конструкции допустимы любые выражения.
У меня-же получается:
Satellite M35x-S149 (PSA72U-00T00U)
и
VGN-A170-1756DW
+ к этому, не понятно по какому принципу, иногда формируется втиорой карман с (PSA72U-00T00U)
-~{}~ 11.09.05 04:08:
почитал, наверно всё-таки нормальное поведение - это захват во 2-ой карман (PSA72U-00T00U)
Но почему многие строки получаются Satellite M35x-S149 (PSA72U-00T00U) и при этом второго кармана нет. Т.е. получается, скобки съедает первая часть: '#.+?
Есть строки:
Satellite M35x-S149 (PSA72U-00T00U) Celeron M 340 1.5Ghz..........
VGN-A170-1756DW Pentium M 735 1.7A Ghz.........
Нужно выдернуть из 1-ой строки
Satellite M35x-S149
из 2-ой:
VGN-A170-1756DW
PHP:
$pattern = '#.+?(?=(\(.+?\) )?celeron|pentium|new|centrino)#i'
У меня-же получается:
Satellite M35x-S149 (PSA72U-00T00U)
и
VGN-A170-1756DW
+ к этому, не понятно по какому принципу, иногда формируется втиорой карман с (PSA72U-00T00U)
-~{}~ 11.09.05 04:08:
почитал, наверно всё-таки нормальное поведение - это захват во 2-ой карман (PSA72U-00T00U)
Но почему многие строки получаются Satellite M35x-S149 (PSA72U-00T00U) и при этом второго кармана нет. Т.е. получается, скобки съедает первая часть: '#.+?