ホームページ  >  記事  >  バックエンド開発  >  正規表現についての質問です。

正規表現についての質問です。

WBOY
WBOYオリジナル
2016-06-13 13:28:12846ブラウズ

正規表現について質問させてください。 。 。 。 。
文字列があります: [ti: Shuang Huanong] [ar: Xiaoquer] [al:] [by: Wenchao]
次に、それぞれを一致させたいと思います: [ti: Shuang Huanong]、[ar:小quer ]、[al:]、作成者: Wenchao]

私が書いたコードは次のとおりです:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$pattern = '/[ti:.*].*?]/is';
preg_match_all($pattern, $str, $match);
    
echo '<pre class="brush:php;toolbar:false">';
var_dump($match);
echo '
';


Print 結果は次のとおりです。
array(1) {
[0]=>
array(5) {
[0]=>
string(10) "ti: Shuanghua Thick]"
[1]=>
文字列(8) ":小quer]"
[2]=>
文字列(2) ":]"
[3 ]=>
string(6) ":文超]"
[4]=>
string(14) "t_time:(3:47)]"
}
}


次に、正規表現を次のように変更しました: $pattern = '/[ti:.*].*?]/is';
一致する結果は次のとおりです:
array( 1) {
[0]=>
array(1) {
[0]=>
string(51) "[ti: Shuang Huanong] [ar: Xiaoqu'er] [al:][ by:Wenchao][t_time:(3:47)]"
}

何か間違ったことを書いたでしょうか?
正しくはどのように書けばよいでしょうか?

ありがとうございます!
}


------解決策--------------------------- -----
これはどういう意味ですか?
PHP コード
$s = '[ti:Shuanghuanong][ar:Xiaoquer][al:][by:Wenchao]';
preg_match_all('/[[^]]+]/', $s, $r);
print_r($r[0]); <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。