当前位置: 首页 > 面试题库 >

提取花括号正则表达式php之间的所有值

栾景胜
2023-03-14
问题内容

我有这种形式的内容

$content ="<p>This is a sample text where {123456} and {7894560} ['These are samples']{145789}</p>";

我需要数组中花括号之间的所有值,如下所示:

array("0"=>"123456","1"=>"7894560","2"=>"145789")

我尝试使用以下代码:

<?php
preg_match_all("/\{.*}\/s", $content, $matches);
?>

但是我从这里的第一个大括号到内容中找到的最后一个大括号都进入了这里。如何获得上述格式的数组?我知道我使用的模式是错误的。为了得到上面所示的期望输出,应该给出什么?


问题答案:

像这样…

<?php
$content ="<p>This is a sample text where {123456} and {7894560} ['These are samples']{145789}</p>";
preg_match_all('/{(.*?)}/', $content, $matches);
print_r(array_map('intval',$matches[1]));

输出:

Array
(
    [0] => 123456
    [1] => 7894560
    [2] => 145789
)


 类似资料:
  • 问题内容: 我需要解析一个日志文件并获取时间和相关的函数调用字符串,它以如下方式存储在日志文件中:{“ time”:“ 2012-09-24T03:08:50”,“ message”:“ Call( )开始”} 在其他字符串字符之间将有多个记录的时间函数调用,因此我希望使用正则表达式浏览文件并获取所有这些 我想获取包括大括号在内的整个记录​​的信息 我尝试了以下 和 我不断收到非法的重复错误,请帮

  • 问题内容: 不幸的是,尽管尽我所能记住,每年尝试至少一年学习一次正则表达式,但我却经常忘记,因为我很少使用它们。今年,我新年的决心是不要再尝试学习正则表达式因此,今年,为了避免让我流泪,我将把它交给Stack Overflow_ 。 我想以这种格式传递一个字符串,然后返回该字符串。有人能协助我们坚持我的新年决议吗? 问题答案: 如果您的字符串将始终是该格式,则正则表达式会显得过大: 表示以一个字符

  • 我正在尝试编写一个正则表达式模式,并使用split函数对所有句点进行拆分,除非这些句点位于开括号和闭括号或花括号之间。我想我是对的,因为在一个在线正则表达式测试程序中,当我运行拆分时,它正确地突出显示了我想要拆分的周期,它拆分的不仅仅是周期,还创建了一个长列表。我想我正在做一些明显的事情,但似乎无法理解。请看下面的内容。谢谢 到目前为止我所拥有的: Regex到目前为止: .(? =([^]]([

  • 好的正则表达式问题,如何提取不在两个字符之间的字符,在本例中为括号。 我有一个字符串,例如:word1 |{word2 | word3}| word 4 我只想得到第一个和最后一个“管道”,而不是括号内的第二个。我尝试了无数次负克拉和负分组的尝试,但似乎无法让它发挥作用。 基本上,我在JavaScript拆分函数中使用这个正则表达式将其拆分为一个数组,其中包含:“word1”、“{word2|wo

  • 问题内容: 我正在寻找一个正则表达式来匹配大括号之间的文本。 我希望将它们分别作为单独的组 。 我试过只删除第一个和最后一个大括号。 问题答案: 您需要围绕要捕获的内容使用捕获组。 只是为了匹配并捕获大括号之间的内容。 输出量 如果要三个特定的匹配组… 输出量

  • 问题内容: 我需要的只是括号内的内容。 问题答案: 如果您的问题确实如此简单,则不需要正则表达式: