regex preg_match | php preg_match_all

1 Cevap php

Ben şu dize, aşağıdaki gibi görünen bir dizi oluşturur bir regex ile gelip çalışıyorum

$str = 'Hello world [something here]{optional}{optional}{optional}{n possibilities of this}';

Şimdiye kadar /^(\*{0,3})(.+)\[(.*)\]((?:{[a-z ]+})?)$/ var

Array
(
    [0] => Array
        (
            [0] => Hello world [something here]{optional}{optional}{optional}{n possibilities of this}
            [1] => 
            [2] => Hello world
            [3] => something here
            [4] => {optional}
            [5] => {optional}
            [6] => {optional}
            [7] => ...
            [8] => ...
            [9] => {n of this}
        )
)

Bu ne için iyi bir yaklaşım olacaktır? Teşekkürler

1 Cevap

Bunu için iki adım gerekir düşünüyorum.

  1. (.+)\[(.+)\](.+) sana Hello world, something here alacak, ve {optional}...{optional}.

  2. Önceki adımda son elemanına \{(.+?)\} uygulamak size bağlı params alacak.