繁体   English   中英

正则表达式多次捕获同一组

[英]Regex capturing many times same group

我在几个简单的问题上有几个小时的问题,但是我找不到正确的解决方案。 我有这样的句子:

“约翰自{5 | 6}年以来一直在{巴黎|纽约}教{french | english}”。

我必须提取括号之间的每个部分才能得到:

  • 法语|英语
  • 巴黎|纽约
  • 5 | 6

我已经尝试过使用此正则表达式:

    (\{.*\|.*\})

我不知道它为什么烂,因为我试图捕获我认为的好字符串。 我曾尝试过许多其他正则表达式,但都没有成功。

如果有人可以帮助我,我感谢他:-)

如果您要使用php,请尝试以下代码行。

$content ="John teach {french|english} in {Paris|New York} since {5|6} years";
preg_match_all('/{(.*?)}/', $content, $matches);
foreach($matches[1] as $result){
    echo $result;
    echo "</br>";
}

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM