0

「%」文字で区切られた文字列内の特定のグループを取得するための正規表現構文が必要です。例として次の文字列があります。

%David davidson%こんにちは、私も1000個の数字を保存できます%anotherchain%お元気ですか!?%

このように一致するさまざまなPHP変数に保存したい

$var1 = david davidson;
$var2 = Hello I can store numbers;

...など

しかし、特定の文字グループを取得する方法がわかりません (たとえば、記号または % 記号で始まらない 2 番目の一致を取得します)。

このコードを試してみまし%.*?(%)たが、最初と3番目の一致しか返されませんが、実際には特定のグループを選択したいです

google と here で検索しましたが、適切な回答を得るために検索する必要があるキーワードがわからないためか、必要なものと少し一致する回答が見つかりませんでした

4

1 に答える 1

2

使用できます

preg_match_all('/[^%]+/sim', $subject, $result, PREG_PATTERN_ORDER);
$result = $result[0];
print_r($result);

これにより、次のことが得られます。

  • デビッド・デビッドソン
  • こんにちは私も1000個の数字を保存できます
  • 別のチェーン
  • 元気ですか!?

    [^%]+

これは、正規表現では、「%」を除くすべての文字を意味します

于 2013-01-28T14:12:01.367 に答える