Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 正则表达式返回作为文本字符串接收的HTML标记的内容_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式返回作为文本字符串接收的HTML标记的内容

Javascript 正则表达式返回作为文本字符串接收的HTML标记的内容,javascript,regex,Javascript,Regex,我收到的代码中有一个字符串,其中包含一些html标记。它不是显示的HTML页面的一部分,因此我无法使用DOM(即document.getElementById('tagid').firstChild.data)获取HTML标记内容 例如,在文本字符串中会出现如下标记: <span id='myQty'>12</span> 12 我的问题是如何使用正则表达式来访问本例中的“12”数字?该数量可以是任意位数(即,它并不总是两位数) 我尝试过一些正则表达式,但最终总是得到

我收到的代码中有一个字符串,其中包含一些html标记。它不是显示的HTML页面的一部分,因此我无法使用DOM(即
document.getElementById('tagid').firstChild.data)获取HTML标记内容

例如,在文本字符串中会出现如下标记:

 <span id='myQty'>12</span>
12
我的问题是如何使用正则表达式来访问本例中的“12”数字?该数量可以是任意位数(即,它并不总是两位数)

我尝试过一些正则表达式,但最终总是得到与内容一起返回的完整span标记。我只想要上面示例中的“12”,而不是周围的
标记。
标记的id在我收到的文本字符串中始终为“myQty”

提前感谢您的帮助

var testfunction=函数(输入){
var testfunction = function (input) {
    var regvar = new RegExp(/^(<span id\='myQty'>\w+<\/span>)$/);
    if (regvar.test(input) === true) {
        input = input.slice(6, input.length - 7);
    }
    return input;
}
var regvar=new RegExp(/^(\w+$/); if(regvar.test(输入)==true){ input=input.slice(6,input.length-7); } 返回输入; }
由于您只是尝试从特定标记结构内部获取特定值,而不是尝试使用正则表达式剥离HTML标记:

var myQtyMatch = str.match(/<span id='myQty'>(\d+)<\/span>/);
if (myQtyMatch) {
    var myQty = myQtyMatch[1];
    // myQty now holds the value between the <span> tags.
}
var myQtyMatch=str.match(/(\d+/);
if(myQtyMatch){
var myQty=myQtyMatch[1];
//myQty现在保存标记之间的值。
}

不要这样做。别这样@David Dorward为时已晚,守护进程已经觉醒…:)谢谢大家的快速帮助。。。我实际上实现了乔恩的逻辑。工作得很好!