括号内的非贪婪正则表达式并包含文本

时间:2018-06-06 21:44:36

标签: python regex python-3.x

假设我有一个看起来像

的字符串
test = 'this is a (meh) sentence that uses (random bits of meh2) and (this is silly)'

如果它包含单词“meh”,我想在括号内提取仅文本。

执行常规的非贪婪正则表达式以匹配括号内的任何内容:

re.findall(r'\((.*?)\)', test)

返回

['meh', 'random bits of meh2', 'this is silly']

尝试这样做只包括第一和第二内容:

re.findall(r'\((.*meh.*?)\)', test)

返回

['meh) sentence that uses (random bits of meh2']

我想要一个正则表达式只返回

['meh', 'random bits of meh2']

有人可以帮忙吗?谢谢!

2 个答案:

答案 0 :(得分:3)

除了允许所有字符外,您可以使用.现在所在的re.findall(r'\(([^\)]*meh[^\)]*?)\)', test) 来允许除闭括号外的所有字符。

// EventServiceProvider@boot()

app('events')->listen('composing:*', function ($view, $data = []) {
    $url = url()->current();
    $view   = $data[0];
    $name   = $view->getName();
    $path = ltrim(str_replace(base_path(), '', realpath($view->getPath())), '/');

    logger([$url=>$path]);
});

答案 1 :(得分:0)

DataFrame.rdd