如何从空间分组的大括号中提取?

时间:2016-09-01 15:24:55

标签: php regex

我需要正则表达式的帮助。如果我有字符串/文字,如:

“有些文字{10} {20} {30} {40}

{50}更多文字{60} {70} {80}

更多文字{90} “

它应该给我结果作为数组:

if !is_service_default($memcache_servers) or !is_service_default($cache_memcache_servers) {
    Service<| title == 'memcached' |> -> Anchor['keystone::service::begin']
} 

任何人都可以帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

这应该这样做。

preg_match_all('/(\{[^\s]+\})/', 'Some text {10}{20}{30} {40}

{50} some more text {60}{70} {80}

some more text {90}', $matches);
print_r($matches[1]);

正则表达式演示:https://regex101.com/r/uI7zS3/1
PHP演示:https://eval.in/633407

/delimiters。反斜杠正在逃避花括号,因此它是literal character[^是否定character class的开头。 \s是任何空格。 ]关闭character class+quantifier,允许一个或多个非空格。