nodejs等效Pattern.compile

时间:2017-07-05 06:22:18

标签: javascript node.js

java / android上的这段代码可以很好地查找<tag></tag>之间的所有文本

在nodejs / javascript上的java上的代码相当于什么?

private static final Pattern TAG_REGEX = Pattern.compile("<tag>(.+?)</tag>");

private void getTagValues(final String str) {
    final Matcher matcher = TAG_REGEX.matcher(str);
    while (matcher.find()) {
        // print found text
    }
}

例如:

var value = "<tag>text 1</tag> aaaaa <tag>text 2</tag>";
var regex = '<tag>(.+?)</tag>';
var match = regex.test(value);
while (matcher.find()) {
    if (match) {
        console.log(value + 'is not a number that has between 1,20 digits');
    }
}

1 个答案:

答案 0 :(得分:1)

我改变了你的代码试试这个。这段代码符合你的期望。希望这对你有帮助。

var express=require('express');
var app=express();
app.get('/tag',function(request,response)
{
var value="<tag>text 1</tag>,aaaaa<tag>text 2</tag>.";
var regex="<tag>(.+?)</tag>.";
var result=value.match(/<tag>(.*?)<\/tag>/g).map(function(val){
var first=val.replace(/<\/?tag>/g,'');
console.log(first);
});
var match=regex.match(/<tag>(.*?)<\/tag>/g).map(function(valy){
var second=valy.replace(/<\/?tag>/g,'');
console.log(second);
});
response.send("data send");
});
app.listen(3000,function(){
console.log("Server is listening on http://localhost:3000");
});

在浏览器中查看localhost:3000/tag的输出,并查看终端中标记之间的文字。