我想保留以下字符串中的 20V
,并删除其他所有内容:
Range 20V 0.5A
我使用以下正则表达式来捕获 20V:
/[^0123456789]*(\d+V).*/g
那么在 Javascript 中,如何删除未从字符串中捕获的所有内容?我尝试了这个,它删除了所有内容:
var myString = "Range 20V 0.5A"
var newString = myString.replace(/[^0123456789]*(\d+V).*/g, "")
如果可能的话,请建议一个更好的正则表达式,我觉得[^0123456789]
很愚蠢。
最佳答案
您可以使用 \D
which is equivalent to [^0123456789]
( or [^0-9]
) 。然后您可以使用 $1
获取 replace()
var myString = "Range 20V 0.5A"
var newString = myString.replace(/\D*(\d+V).*/g, "$1")
console.log(newString);
或者简单地使用 match()
获取捕获的字符串
var myString = "Range 20V 0.5A"
var newString = myString.match(/\D*(\d+V).*/)[1];
console.log(newString);
关于Javascript Regex - 删除未捕获的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37065408/