regex 删除所有文本、第一个括号之前和最后一个括号之后的字符[重复]

envsm3lx  于 2023-02-20  发布在  其他
关注(0)|答案(2)|浏览(130)
    • 此问题在此处已有答案**:

Get text between 2 strings (First & last occurrences) [duplicate](2个答案)
昨天关门了。
我的字符串:
var string = '.,.a,,{Correct Answer Nr.1 : b.) Susan },{Correct Answer Nr.3 : b.) She doesn’t say },.x.b,'
我怎样才能删除所有的文本,字符之前的第一个{和之后的最后一个}?
我想要的结果:
{Correct Answer Nr.1 : b.) Susan },{Correct Answer Nr.3 : b.) She doesn’t say }
并删除:.,.a,, and ,.x.b,
谢谢

tuwxkamq

tuwxkamq1#

我们可以尝试以下正则表达式替换:

var string = '.,.a,,{Correct Answer Nr.1 : b.) Susan },{Correct Answer Nr.3 : b.) She doesn’t say },.x.b,';
var output = string.replace(/^[^{]+|[^}]+$/g, "");
console.log(output);

这里使用的正则表达式模式表示匹配:

  • ^从字符串的开头开始
  • [^{]+匹配一个或多个不是{的前导字符
  • |
  • [^}]+匹配一个或多个不是}的尾随字符
  • 字符串末尾的$
w1jd8yoj

w1jd8yoj2#

通过贪婪的行为、模式

{.*}

火柴

{Correct Answer Nr.1 : b.) Susan },{Correct Answer Nr.3 : b.) She doesn’t say }

相关问题