1
私は「_」記号で分割され、異なる長さの部分文字列と文字列を持っているし、いくつかのサブ文字列が複数のサブサブ文字列に分割する必要が...正規表現でこれを行うことはできますか?
例:
"_foo-2_bar-12_un[3;1]iver[3]se[3-7]"
/(?:((?:(?:\[([a-z0-9;-]+)\])|(?<=_)(?:[a-z0-9]+)|-([0-9]+))+))/ig
:私はこのようなものを作ってみた
"foo-2", "2", "bar-12", "12", "un[3;1]", "3;1", "iv", "er[3]", "3", "se[3-7]", "3-7"
:このようなグループに分割する必要があります
私が遭遇する問題は最後の部分です。そして、私の周りをうろついた後、私はこれが可能であるかどうかを考え始めました。それは...ですか?
どのようなガイダンスがありがとうございます。と(どちらか[...]
部分文字列が内部には[
と]
を有していないと、その後
/[^\W_]+(?:\[([^\][]*)]|-([^_]+))/g
パターンがどの1+文字の英数字列([^\W_]+
)と一致regex demo
を参照してください:
['([^ \ W_] +)?([^] [] *)] | - ([^ _] +)))]](https://regex101.com/r/sA2xC7/2)?捕捉された値はあなたに '' foo-2、2、bar-12,12、un [3; 1]、3; 1、iver [3]、3、se [3-7]、3-7] '。あなたの正規表現の味は何ですか? –
まだ、最後の部分を別々に分割するのではなく、グループ内に四角い括弧を含めません。 (しかし、それでもなお、私のものより良い) 正規表現のフレーバーはECMA-262です。 – Insomnia
['(^ \ W _] +(?:\ [([^ \] [] *)] - _] +))) '](https://regex101.com/r/sA2xC7/3)。 ECMA-262はJS風味を意味するので、ブランチリセットの代わりに非捕捉グループを使用して、どのグループが一致しているかを確認する必要があります。 JSソリューションをお探しですか? –