0

検索リクエストからプラス記号で区切られた2つのクエリを抽出phpする必要がある正規表現について混乱しています(数字や特殊文字を含む場合があります)。+

誰でもこの動作に光を当てることができますか?

$string = 'string1+String-2';

([a-zA-Z0-9-_]+[a-zA-Z0-9-_])

Array
(
    [0] => string1
    [1] => string1
)
4

3 に答える 3

3

別の方法は、使用することですexplode()

$string = 'string1+String-2';

$parts=explode("+",$string);

print_r($parts);

出力付き:

Array
(
    [0] => string1
    [1] => String-2
)

詳細はこちら:

http://php.net/manual/en/function.explode.php

于 2013-03-02T14:55:15.157 に答える
1

you can do it this way

/([\w-]+\+[\w-]+)/

the unescaped + behind the square brackets say: "the expression before one or more times" the escaped \+ stands for a pure +.

于 2013-03-02T14:43:22.833 に答える
1

関数preg_matchを使用していると仮定します。

あなたのパターン([a-zA-Z0-9-_]+[a-zA-Z0-9-_])は、m文字または数字であるものに1回以上一致し、その後に文字または数字が続きます。

したがって、 on の後にstringが続き1ます。表示される出力は、関数が言うことを実行することです。

一致が提供された場合は、検索結果が入力されます。$matches[0] には完全なパターンに一致したテキストが含まれ、$matches 1には最初にキャプチャされた括弧で囲まれたサブパターンに一致したテキストが含まれます。

おそらく preg_match_all を使用して、一致するすべてのパターンを取得するつもりだったと思います。

于 2013-03-02T14:47:24.710 に答える