在大括号之间获取字符串的正则表达式“{我想要花括号之间的字符串}”

在大括号之间获取字符串的正则表达式“{我想要花括号之间的字符串}”

不幸的是,尽管每年至少有一次尝试学习regex,但我总是忘记,因为我很少经常使用regex。今年我的新年决心是不再尝试学习regex-所以今年为了让我从眼泪中解脱,我会把它送给Stack Flow..(去年圣诞节混音)。

我想以这种格式传递一个字符串。{getThis},并被返回字符串。getThis..有人能帮我坚持我的新年决心吗?


关于堆栈溢出的相关问题:


拉风的咖菲猫
浏览 2561回答 3
3回答

慕哥9229398

如果您的字符串总是采用这种格式,那么正则表达式就是过头了:>>> var g='{getThis}';>>> g.substring(1,g.length-1)"getThis"

智慧大石

试一试/{(.*?)}/这意味着,在{和}之间匹配任何字符,但不要贪婪-匹配以}结尾的最短字符串(?停止*贪婪)。括号允许您提取匹配的部分。另一种方式是/{([^}]*)}/这将匹配除}char(不贪婪的另一种方式)以外的任何字符。

天涯尽头无女友

/\{([^}]+)\}//        - delimiter\{       - opening literal brace escaped because it is a special character used for quantifiers eg {2,3}(        - start capturing[^}]     - character class consisting of    ^    - not    }    - a closing brace (no escaping necessary because special characters in a character class are different)+        - one or more of the character class)        - end capturing\}       - the closing literal brace/        - delimiter
打开App,查看更多内容
随时随地看视频慕课网APP