Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Javascript 在括号中匹配所有内容_Javascript_Regex - Fatal编程技术网

Javascript 在括号中匹配所有内容

Javascript 在括号中匹配所有内容,javascript,regex,Javascript,Regex,我需要在两个括号之间匹配文本。很多帖子都是关于它的,但非JavaScript支持,因为它们都使用lookback。 全文如下 “{Code}-{Description}” 我需要代码和描述与括号外的匹配 我得到的最接近的是这个 /{([\s\S]*?)(?=})/g 给我留下“{Code”和“{Description”,然后我用 正在执行子字符串 那么…有没有一种方法可以在Javascript中实现lookback类型的功能?将其用作: input = '{Code} - {Descript

我需要在两个括号之间匹配文本。很多帖子都是关于它的,但非JavaScript支持,因为它们都使用lookback。 全文如下

“{Code}-{Description}”

我需要代码和描述与括号外的匹配 我得到的最接近的是这个

 /{([\s\S]*?)(?=})/g
给我留下“{Code”和“{Description”,然后我用 正在执行子字符串

那么…有没有一种方法可以在Javascript中实现lookback类型的功能?

将其用作:

input = '{Code} - {Description}';
matches = [], re = /{([\s\S]*?)(?=})/g;

while (match = re.exec(input)) matches.push(match[1]);

console.log(matches);
["Code", "Description"]
将其用作:

input = '{Code} - {Description}';
matches = [], re = /{([\s\S]*?)(?=})/g;

while (match = re.exec(input)) matches.push(match[1]);

console.log(matches);
["Code", "Description"]
将其用作:

input = '{Code} - {Description}';
matches = [], re = /{([\s\S]*?)(?=})/g;

while (match = re.exec(input)) matches.push(match[1]);

console.log(matches);
["Code", "Description"]
将其用作:

input = '{Code} - {Description}';
matches = [], re = /{([\s\S]*?)(?=})/g;

while (match = re.exec(input)) matches.push(match[1]);

console.log(matches);
["Code", "Description"]

您是否尝试过这样的东西,它不需要向前看或向后看:

{([^}]*)}
您可能需要添加全局标志,但它似乎有效

真正的问题是,您需要指定要捕获的内容,这是使用正则表达式中的捕获组执行的。括号内匹配正则表达式的部分将是该捕获组返回的值。因此,为了省略
{
}
从结果来看,您只是没有将它们包含在括号内。但是,仍然需要在正则表达式中匹配它们


您可以看到如何在JavaScript中获取捕获组的值。

您是否尝试过这样的方法,它不需要向前看或向后看:

{([^}]*)}
您可能需要添加全局标志,但它似乎有效

真正的问题是,您需要指定要捕获的内容,这是使用正则表达式中的捕获组执行的。括号内匹配正则表达式的部分将是该捕获组返回的值。因此,为了省略
{
}
从结果来看,您只是没有将它们包含在括号内。但是,仍然需要在正则表达式中匹配它们


您可以看到如何在JavaScript中获取捕获组的值。

您是否尝试过这样的方法,它不需要向前看或向后看:

{([^}]*)}
您可能需要添加全局标志,但它似乎有效

真正的问题是,您需要指定要捕获的内容,这是使用正则表达式中的捕获组执行的。括号内匹配正则表达式的部分将是该捕获组返回的值。因此,为了省略
{
}
从结果来看,您只是没有将它们包含在括号内。但是,仍然需要在正则表达式中匹配它们


您可以看到如何在JavaScript中获取捕获组的值。

您是否尝试过这样的方法,它不需要向前看或向后看:

{([^}]*)}
您可能需要添加全局标志,但它似乎有效

真正的问题是,您需要指定要捕获的内容,这是使用正则表达式中的捕获组执行的。括号内匹配正则表达式的部分将是该捕获组返回的值。因此,为了省略
{
}
从结果来看,您只是没有将它们包含在括号内。但是,仍然需要在正则表达式中匹配它们


您可以看到如何在JavaScript中获取捕获组的值。

您只需尝试下面的正则表达式

[^}{]+(?=})
代码:


你可以试试下面的正则表达式

[^}{]+(?=})
代码:


你可以试试下面的正则表达式

[^}{]+(?=})
代码:


你可以试试下面的正则表达式

[^}{]+(?=})
代码:


实际上,在这种特殊情况下,解决方案非常简单:

s = "{Code} - {Description}"
result = s.match(/[^{}]+(?=})/g) // ["Code", "Description"]

实际上,在这种特殊情况下,解决方案非常简单:

s = "{Code} - {Description}"
result = s.match(/[^{}]+(?=})/g) // ["Code", "Description"]

实际上,在这种特殊情况下,解决方案非常简单:

s = "{Code} - {Description}"
result = s.match(/[^{}]+(?=})/g) // ["Code", "Description"]

实际上,在这种特殊情况下,解决方案非常简单:

s = "{Code} - {Description}"
result = s.match(/[^{}]+(?=})/g) // ["Code", "Description"]

这不是重复的-OP知道如何提取内容,他们的问题是如何在不匹配分隔符的情况下提取内容。您的问题有点不清楚:代码和描述是否可以包含换行符或其他内容?对于您的示例,这应该足够
/{(.*)}了/g
并解析匹配项以获取捕获组而不是整个匹配项请参见。@georg这是一种重复。他似乎不知道如何获取捕获组而不是整个匹配项。这不是重复项-OP知道如何提取内容,他们的问题是如何在没有匹配分隔符的情况下提取。有些不清楚您的问题是:代码和描述是否可以包含换行符或其他内容?对于您的示例,这应该足够
/{(.*)}了/g
并解析匹配项以获取捕获组而不是整个匹配项请参见。@georg这是一种重复。他似乎不知道如何获取捕获组而不是整个匹配项。这不是重复项-OP知道如何提取内容,他们的问题是如何在没有匹配分隔符的情况下提取。有些不清楚您的问题是:代码和描述是否可以包含换行符或其他内容?对于您的示例,这应该足够
/{(.*)}了/g
并解析匹配项以获取捕获组而不是整个匹配项请参见。@georg这是一种重复。他似乎不知道如何获取捕获组而不是整个匹配项。这不是重复项-OP知道如何提取内容,他们的问题是如何在没有匹配分隔符的情况下提取。有些不清楚您的问题是:代码和描述是否可以包含换行符或其他内容?对于您的示例,这应该是足够的
/{(.*)}/g
,并解析匹配以获取捕获组而不是整个匹配。请参见。@georg这是一种重复。他似乎不知道如何获取捕获组而不是整个匹配。