ホームページ > バックエンド開発 > PHPチュートリアル > 如何获取字符串中的内容?

如何获取字符串中的内容?

WBOY
リリース: 2016-06-06 20:35:00
オリジナル
1663 人が閲覧しました

$str = "你好,欢迎使用[args1].我们会马上给你发货,地址:[args2]";

如何获取[args1]和[args2];是不是一般都的正则进行匹配?

正则水平有点烂,/^(\[)*(\])$/ 匹配有问题呢?
请指教!

回复内容:

$str = "你好,欢迎使用[args1].我们会马上给你发货,地址:[args2]";

如何获取[args1]和[args2];是不是一般都的正则进行匹配?

正则水平有点烂,/^(\[)*(\])$/ 匹配有问题呢?
请指教!

JavaScript版

用match

<code>var str = '你好,欢迎使用[args1].我们会马上给你发货,地址:[args2]';
var re = /\[\w+\]/g;
var matches = str.match(re);
console.log(matches[0],matches[1]);
</code>
ログイン後にコピー

用exec

<code>var str = '你好,欢迎使用[args1].我们会马上给你发货,地址:[args2]';
var re = /\[\w+\]/g;
while((matches =re.exec(str)) != null){
    console.log(matches[0]);
}
</code>
ログイン後にコピー

有点复杂

<code>var str = '你好,欢迎使用[args1].我们会马上给你发货,地址:[args2]';
var re = /[\u4e00-\u9fa5]/;
console.log(str.split(re).filter(function(value){return /\[\w+\]/.test(value)}))
</code>
ログイン後にコピー

还需要对返回的数组做一下简单就行。

文章:JavaScript正则表达式
正则表达式笔记

PHP版

preg_match

<code><?php header("content-type:text/html;charset=utf8");
$str = '你好,欢迎使用[args1].我们会马上给你发货,地址:[args2]';
$re = '/.+(\[\w+\]).+(\[\w+\])/';
if(preg_match($re,$str,$matches)){
     echo $matches[1]."<br />";
     echo $matches[2]."<br>";
}
?>
</code>
ログイン後にコピー

preg_match_all

<code><?php header("content-type:text/html;charset=utf8");
$str = '你好,欢迎使用[args1].我们会马上给你发货,地址:[args2]';
$re = '/\[\w+\]/';
if(preg_match_all($re, $str, $matches)){
     echo $matches[0][0]."<br />";
     echo $matches[0][1]."<br>";
}
?>
</code>
ログイン後にコピー

相关文章:php中的字符串和正则表达式

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート