この問題の解決策を見つけようとしています。「&M26&M35.45#&TN#&C150,250,10# f54f#」のような文字列があり、「&」と「#」の間にあるすべての一致を含む配列に変換したいと考えています。だから私のシナリオでは、私はしたいと思います
0: M35.45
1: TN
2: C150,250,10
私は正規表現でそれをやろうとしました
$haystack = "&M26&M35.45#&TN#&C150,250,10# f54f#";
if (preg_match_all("/(?<=&).*?(?=#)/s", $haystack, $result))
print_r($result[0]);
しかし、このようにして私は得ます:
0: M26&M35.45
1: TN
2: C150,250,10
ご覧のとおり、最初の一致には必要のない文字が含まれています。そのため、区切り文字間の最短一致を取得しようとしていますが、方法がわかりません。ありがとうございました!