无法在末尾之前将输入字符串与“)”匹配
Unable to match input string with ')' before the end
我在编写正则表达式以匹配如下字符串时遇到问题:
var p1=@VAL([Test1Q1].[Bandwidth])
var p2=@VAL([Test1Q1].[Usages (KB)])
模式应匹配以@VAL(
开头并以第一个括号)
结尾的输入,并捕获以下内容(来自上述输入):
[Test1Q1].[Bandwidth]
[Test1Q1].[Usages (KB)]
我尝试使用以下表达式:
var fieldPattern = /@VAL'((.*)')/;
var P1_Pattern = p1.match(fieldPattern );
var P2_Pattern = p2.match(fieldPattern );
我得到了p1
的正确匹配,但p2
的结果是错误的。 p2
我得到了
[Test1Q1].[Usages (KB
但需要以下结果:
[Test1Q1].[Usages (KB)]
我知道它之所以发生,是因为)
发生在p2
结束之前;但我无法理清它。 如何修改正则表达式以匹配p1
和p2
并捕获我想要的值?
正如@Xero所评论的那样,该模式与提供的两个输入字符串匹配。
可以在以下代码片段中确认这一点,并了解如何获取捕获组的值:
var p1='@VAL([Test1Q1].[Bandwidth])';
var p2='@VAL([Test1Q1].[Usages (KB)])';
var fieldPattern = /@VAL'((.*)')/;
var P1_Pattern = p1.match(fieldPattern)[1];
var P2_Pattern = p2.match(fieldPattern)[1];
// FORNOW: Use alerts and console logging to show the capture groups' values.
console.log("P1_Pattern === '" + P1_Pattern + "'");
alert("P1_Pattern === '" + P1_Pattern + "'");
console.log("P2_Pattern === '" + P2_Pattern + "'");
alert("P2_Pattern === '" + P2_Pattern + "'");
代码段应输出以下内容:
P1_Pattern === '[Test1Q1].[Bandwidth]'
P2_Pattern === '[Test1Q1].[Usages (KB)]'
相关文章:
- JavaScript中的复杂字符串匹配
- 如何提取与前面带句点(.)的同一字符串匹配的字符串?(仅使用正则表达式)
- 如何拆分一个字符串,然后将它们与另一个字符串匹配
- 检测字符串是否与格式说明符字符串匹配
- node.js中的模糊字符串匹配+数量匹配
- 使用数组中的所有字符串匹配字符串
- 优化字符串匹配算法
- 当正则表达式与空字符串匹配时,是否可以使用 regexp.exec 循环模拟 string.match
- jQuery / Javascript方法获取当前页面的标题,将其与字符串匹配,将类分配给该特定元素
- 在字符串匹配中忽略
- 将特定的正则表达式模式与我的字符串匹配
- 与字符串匹配的 span 字符
- 如何编写与任何字符串匹配的正则表达式
- 字符串匹配和突出显示
- JavaScript 字符串匹配和长度
- 是否可以生成与正则表达式字符串匹配的字符串
- 正则表达式字符串匹配
- 在jQuery中,如何找到与给定字符串匹配的所有元素
- Javascript 字符串匹配
- JavaScript Regex - 将包含某些字符且不包含其他字符的字符串匹配