Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式帮助(字符之间)_Regex - Fatal编程技术网

Regex 正则表达式帮助(字符之间)

Regex 正则表达式帮助(字符之间),regex,Regex,我需要一个正则表达式,它可以在{和}之间查找文本,但是在找到的文本中不能通过{或{找到文本 例如: we have: {hi {Mary Jane} lol} 这应该是我唯一的选择 {Mary Jane} 您可以使用正则表达式{[^{}]*}: $ echo "{hi {Mary Jane} lol}" | grep -o "{[^{}]*}" {Mary Jane} 这项工作使用了否定字符类[^{}],意思是“匹配除{或}以外的任何字符”到目前为止,您尝试过什么正则表达式来获得{Mar

我需要一个正则表达式,它可以在
{
}
之间查找文本,但是在找到的文本中不能通过
{
{
找到文本

例如:

we have: {hi {Mary Jane} lol}
这应该是我唯一的选择

{Mary Jane} 

您可以使用正则表达式
{[^{}]*}

$ echo "{hi {Mary Jane} lol}" | grep -o "{[^{}]*}"
{Mary Jane}

这项工作使用了否定字符类
[^{}]
,意思是“匹配除
{
}
以外的任何字符”

到目前为止,您尝试过什么正则表达式来获得{Mary Jane}?+1欢迎使用so!不要因为否决票而气馁。下次,在您的问题中包括您已经尝试过的内容。请参阅@Dawid This
[^{}]
被称为“否定字符类”。顺便说一句,我将对答案进行解释。