首頁  >  文章  >  後端開發  >  如何获取字符串中的内容?

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

WBOY
WBOY原創
2016-06-06 20:35:001600瀏覽

$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中的字符串和正则表达式

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn