前瞻断言JavaScript
我试图用正则表达式来解决我的问题,我相信前瞻性断言可能是最好的答案(或者我认为是这样),但我不确定如何使用它们 对于输入示例前瞻断言JavaScript,javascript,regex,Javascript,Regex,我试图用正则表达式来解决我的问题,我相信前瞻性断言可能是最好的答案(或者我认为是这样),但我不确定如何使用它们 对于输入示例inta=5我想用正则表达式获取int标识符5的值。具体地说,我正在寻找一个正则表达式来匹配标识符和等号后面但分号前面的值 有人能给我提供一个详细的例子,让我学习如何使用前瞻断言(如果这是做类似事情的最佳方法) 谢谢大家! 正则表达式/=\s*(\d+)\s*/最好,因为它允许元素之间有任意数量的空格,并捕获数字。在返回的数组中,[1]将是数字。您可以在以下代码段中使用前瞻
inta=5
我想用正则表达式获取int标识符5
的值。具体地说,我正在寻找一个正则表达式来匹配标识符和等号后面但分号前面的值
有人能给我提供一个详细的例子,让我学习如何使用前瞻断言(如果这是做类似事情的最佳方法)
谢谢大家! 正则表达式
/=\s*(\d+)\s*/
最好,因为它允许元素之间有任意数量的空格,并捕获数字。在返回的数组中,[1]
将是数字。您可以在以下代码段中使用前瞻:
var input = "a = 12345;"
var inputValue = input.replace(/\w+\s*=\s*(\d+)\s*(?=;).*/, "$1");
在示例中,结果是12345,使用
“a=5;”
给出5为什么您认为需要对此进行展望?前瞻性是指在inta=5
vsinta中识别inta
部分代码>。你会“向前看”,看看是否有任务。我对长相方面的知识缺乏表明。。。你提出了一个有趣的案例,我会觉得很有用。我如何使用前瞻来查看变量是否已声明为与您提到的不一样?类似于/int\s+(\w+)\s*(?==\s*\d+\s*)/
。基本上它只匹配inta
,如果它被声明(使用=#
),你能帮我把这个表达式分解一下,让我更好地理解它在做什么吗?也许聊天更容易些?@Joey,看来你对数组一无所知。我建议你仔细读一下。@Joey Wint a=5;“.match(/=\s*(\d+\s*;/);产生[“5”,“5”]结果0始终是完整匹配。然后捕获组从中开始。”1@Joey我输入了一个我想写的错误:“inta=5;“.match(/=\s*(\d+)\s*;/);