正则表达式在引号之间返回字符串并排除括号内的字符串部分

时间:2015-01-28 23:16:56

标签: regex

我是正则表达式的黑客。一段时间以来一直在与这个问题挣扎,可以使用一些帮助。

这是我正在处理的字符串:

    "main title here [subtitle]" extra stuff here

我想要回归:

main title here

我已经能够在引号内匹配字符串,但似乎只是省略了 返回匹配时括号之间的字符串(和括号)。以下正则表达式是我当前的位置,但如果它在引号中包含括号,它将排除整个字符串。

"(\s*?.*?)\b(?<!\[)"

注意:我需要单独使用正则表达式。也许这就是我的问题......

非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

/"\s*(\S.*\S)\s*\[/适用于您的示例数据。

例如,在Ruby中:

re = /"\s*(\S.*\S)\s*\[/
re.match('"a title [a subtitle]" etc.')[1]  # => "a title"