一个特殊的需求:要求找出双大括号中间的值
let str = '我的名字叫{
{让时光到此为止}},今年{
{5}}岁了,是一个{
{学生}}'
let rep = str.match(/(?<=\{\{)[^}]*(?=\}\})/g)
let rep2 = str.match(/\{\{(.*?)\}\}/g)
// 输出的是{
{}} 两个大括号中间的内容并返回一个数组
console.log(rep ) // ["让时光到此为止", "5", "学生"]
// 输出的是{
{}} 和 两个大括号中间的内容并返回一个数组
console.log(rep2 ) // ["{
{让时光到此为止}}", "{
{5}}", "{
{学生}}"]
如果给出的字符串中两个括号不对称怎么办呢? 比如:
‘我的{ { {名字叫{ { { { { {让时光到此为止}},今年{ {5}}岁了,是一个{ {学生}}’
这种情况就需要我们去判断字符串是否符合我们的要求了,如果不符合要求,需要提示错误
/**
* 判断当前字段串左右双大括号有无结束
* @param str 字符串
*/
let str = '我的名字叫{
{让时光到此为止}},今年{
{5}}岁了,是一个{
{学生}}'
let str2 = '我的{
{
{名字叫{
{
{
{
{
{让时光到此为止}},今年{
{5}}岁