Php 正则表达式来查找特定代码之间的文本

Php 正则表达式来查找特定代码之间的文本,php,regex,Php,Regex,我的文本是这样的 [name]JAAN JOHN[/name] [cell]09178656469[/cell] [city]Dhaka[/city] 我想使用regex在上面的[]引号之间获取文本。请原谅我,因为我搜索了很多这个网站,但无法得到我需要的答案。请帮忙 编辑: 例如,我希望得到如下结果: Name: JAAN JOHN Cell #: 09178656469 City: Dhaka 如何获得此结果?此正则表达式适用于每一行 \[[^\]]+\](.*?)\[\/[^\]]+\]

我的文本是这样的

[name]JAAN JOHN[/name]
[cell]09178656469[/cell]
[city]Dhaka[/city]
我想使用regex在上面的
[]
引号之间获取文本。请原谅我,因为我搜索了很多这个网站,但无法得到我需要的答案。请帮忙

编辑:

例如,我希望得到如下结果:

Name: JAAN JOHN
Cell #: 09178656469
City: Dhaka

如何获得此结果?

此正则表达式适用于每一行

\[[^\]]+\](.*?)\[\/[^\]]+\]

测试正则表达式。

此正则表达式适用于每一行

\[[^\]]+\](.*?)\[\/[^\]]+\]

测试正则表达式。

使用back引用并从索引2中获得匹配的组。在下面的示例代码中,我对
cell
tag感兴趣

\[(cell)\](.*?)\[\/\1\]
这是


如果您对匹配结束标记的所有标记感兴趣,请尝试

\[(.*?)\](.*?)\[\/\1\]
这是

从索引1获取所需的标记名,从索引2获取值

示例代码:

$re = "/\\[(.*?)\\](.*?)\\[\\/\\1\\]/";
$str = "[name]JAAN JOHN[/name]\n[cell]09178656469[/cell]\n[city]Dhaka[/city]";

preg_match_all($re, $str, $matches);

使用back引用并从索引2中获取匹配的组。在下面的示例代码中,我对
cell
tag感兴趣

\[(cell)\](.*?)\[\/\1\]
这是


如果您对匹配结束标记的所有标记感兴趣,请尝试

\[(.*?)\](.*?)\[\/\1\]
这是

从索引1获取所需的标记名,从索引2获取值

示例代码:

$re = "/\\[(.*?)\\](.*?)\\[\\/\\1\\]/";
$str = "[name]JAAN JOHN[/name]\n[cell]09178656469[/cell]\n[city]Dhaka[/city]";

preg_match_all($re, $str, $matches);
使用

((?使用


(?你试过什么吗?我真的很抱歉,先生!但我对regex很陌生。我可以用PHP编写代码,但编写regex对我来说很难。请帮你说“在上面的
[]
”之间。我想你不是这个意思;你是说在
[tag]
[/tag]之间
配对,对吗?例如,你想提取“JAAN JOHN”是的,你是对的Utkanos。我的意思是这将帮助每个人(以及未来的读者)给出一个示例输出(你想要得到什么)。你尝试了什么吗?我真的很抱歉,先生!但我对regex非常陌生。我可以用PHP编写代码,但我很难编写regex。请帮助你说“在上面的
[]
”之间。我想你不是这个意思;你的意思是在
[tag]
[/tag]
对之间,对吧?例如,你想提取“JAAN JOHN”是的,你是对的Utkanos。我的意思是这将帮助每个人(以及未来的读者)给出一个示例输出(你想得到的).这是我多年来第一次看到使用反向引用。太酷了!;)我已经更新了我的第一篇帖子,请再次阅读,谢谢您的时间,先生!谢谢您,先生!您的答案解决了我的问题,我将选择您的答案作为最佳答案。谢谢所有其他人。这是我多年来第一次看到使用反向引用。这很酷!;)我已经更新了我的第一篇帖子,请再次阅读,谢谢您的时间,先生!谢谢先生!您的答案解决了我的问题,我将选择您的答案作为最佳答案。谢谢所有其他人。我已经更新了我的第一篇帖子,请再次阅读,谢谢您的时间,先生!我已经更新了我的第一篇帖子,请再次阅读,谢谢您的时间,先生!