У меня есть строка, как
BK0001 My book (4th Edition) $49.95 (Clearance Price!)
Я хотел бы разделить его на разные части, например
[BK0001]
[My Book (4th Edition)]
[$49.95]
[(Clearance Price!)]
Я новичок в регулярных выражениях, и я использую это для анализа строки в файле. Мне удалось получить первую часть BK0001
с помощью
$parts = preg_split('/\s+/', 'BK0001 My book (4th Edition) $49.95 (Clearance Price!)';
затем получите значение $part[0]
, но не знаете, как разделить его, чтобы получить другие значения.
preg_match('~^(?<code>\S+)\s+(?<name>.*?)\s+(\$\d[\d.]*)\s*(?<details>.*)$~', $text, $matches)
, см. демонстрацию. - person Wiktor Stribiżew   schedule 07.11.2018learning it fully really a good option right now
Всегда хорошо изучать Regex, в большинстве языков есть что-то от него, и он невероятно мощный и полезный. - person ArtisticPhoenix   schedule 08.11.2018