一个正则表达式的有关问题。
程序员文章站
2022-06-03 12:19:01
...
请教大家一个正则表达式的问题。。。。。
有一个字符串:[ti:霜华浓][ar:小曲儿][al:][by:文超]
我现在想要分别匹配出:[ti:霜华浓]、[ar:小曲儿]、[al:]、by:文超]
我写的代码如下:
打印的结果是:
array(1) {
[0]=>
array(5) {
[0]=>
string(10) "ti:霜华浓]"
[1]=>
string(8) ":小曲儿]"
[2]=>
string(2) ":]"
[3]=>
string(6) ":文超]"
[4]=>
string(14) "t_time:(3:47)]"
}
}
然后我将正则改成:$pattern = '/\[ti:.*].*?]/is';
匹配出来的结果是:
array(1) {
[0]=>
array(1) {
[0]=>
string(51) "[ti:霜华浓][ar:小曲儿][al:][by:文超][t_time:(3:47)]"
}
我哪写错了吗?
正确的应该怎么写呢?
谢谢!
}
------解决方案--------------------
这个意思?
有一个字符串:[ti:霜华浓][ar:小曲儿][al:][by:文超]
我现在想要分别匹配出:[ti:霜华浓]、[ar:小曲儿]、[al:]、by:文超]
我写的代码如下:
- PHP code
$pattern = '/[ti:.*].*?]/is';preg_match_all($pattern, $str, $match); echo '';var_dump($match);echo '';
打印的结果是:
array(1) {
[0]=>
array(5) {
[0]=>
string(10) "ti:霜华浓]"
[1]=>
string(8) ":小曲儿]"
[2]=>
string(2) ":]"
[3]=>
string(6) ":文超]"
[4]=>
string(14) "t_time:(3:47)]"
}
}
然后我将正则改成:$pattern = '/\[ti:.*].*?]/is';
匹配出来的结果是:
array(1) {
[0]=>
array(1) {
[0]=>
string(51) "[ti:霜华浓][ar:小曲儿][al:][by:文超][t_time:(3:47)]"
}
我哪写错了吗?
正确的应该怎么写呢?
谢谢!
}
------解决方案--------------------
这个意思?
- PHP code
$s = '[ti:霜华浓][ar:小曲儿][al:][by:文超]';preg_match_all('/\[[^]]+\]/', $s, $r);print_r($r[0]);相关文章
相关视频
上一篇: php中动态调用函数的方法_PHP教程
推荐阅读
-
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
-
有关mysql中sql的执行顺序的小问题
-
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
-
Asp.net中处理一个站点不同Web应用共享Session的问题
-
JavaScript的for循环中嵌套一个点击事件的问题解决
-
网站要升级改版 才发现一个让人揪心的问题
-
Android解决Spinner初始化时自动选择第一个 item 及点击已选中的 item 时不触发Listener问题
-
PHP的foreach中使用引用时需要注意的一个问题和解决方法
-
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
-
SQL order by ID desc/asc加一个排序的字段解决查询慢问题