当前位置: 首页 > 知识库问答 >
问题:

获取两个括号之间的文本,包括嵌套的括号

吴欣然
2023-03-14

我想在像这样的文本中插入()并将它们放入数组中,但里面可能有一些嵌套的括号。

文本:

(This (is) a example) (on what i want)

应该这样处理:

$array["this (is) a example"] = "on what i want";

我怎么能这么做?

共有1个答案

卜泓
2023-03-14
$s = '(This (is) a example) (on what i want)';

unset($matches);
preg_match_all('/^\\((.*)\\)[ \\t]+\\((.*)\\)$/', $s, $matches);
$array[$matches[1][0]] = $matches[2][0];

var_dump($array);

这是可能的,因为*是贪婪的,它试图匹配括号之间最长的字符串,同时仍然确保整个模式匹配。

 类似资料:
  • 在括号()之间获取文本的Reg表达式,我尝试过,但我没有得到RegEx。对于这个例子 例子:-

  • 如何使用JavaScript中的正则表达式从下面句子中两个圆括号之间检索单词? “这是(我的)简单文本”

  • 在Javascript中,我希望得到一个字符串,表示两个括号之间的所有文本,即使该字符串包含更多的括号。 其工作如下: "(a)(b)(c)"。匹配(某物); [“a”、“b”、“c”] 或者 “a” “((a)(b)(c))”。匹配(某物); (a)(b)(c)

  • 期望的行为 我有一个输入验证,除其他外,测试长度(

  • 我需要在和之间匹配文本示例: 我需要匹配这个文本 简单正则表达式将正常工作,直到我在文本中放置一些 文本内的卷括号配对以匹配。 有没有可能通过正则表达式来解决这个问题?

  • 问题内容: 如何从中提取字符串并使用模式匹配或其他方法。例如,如果文本是` “您好(Java)” 然后如何获得。 谢谢。 问题答案: 试试这个: 要么