how to pass a variable to a regex

前端 未结 5 426
醉话见心
醉话见心 2020-12-21 09:59

I have a find statement like this

collSession.find({\"Venue.type\": /.*MT.*/}).toArray(function (err, _clsSession)
        {
            console.log(_clsSess         


        
相关标签:
5条回答
  • 2020-12-21 10:25

    Finally i got from here

    it is "Venue.type": new RegExp(queryParams.et)

    0 讨论(0)
  • 2020-12-21 10:31

    Instead of using the inline syntax to create a regular expression, you can also use the RegExp object to create one based on a string

    var searchPhrase = "MT";
    var regularExpression = new RegExp(".*" + searchPhrase + ".*");
    collSession.find({"Venue.type": regularExpression}) [...]
    
    0 讨论(0)
  • 2020-12-21 10:31

    Replace /.*MT.*/ with new RegExp( ".*" + variable + ".*" )

    0 讨论(0)
  • 2020-12-21 10:34

    Try this:

      var pattern = 'concatenate string' + here,
            regexp = new Regexp(pattern);
    
    0 讨论(0)
  • 2020-12-21 10:34

    Take a look at this code: (I'm using mongoose)

    exports.getSearchPosts = (req, res, next) => {
    const keyword = req.body.keyword;
    Post.find({ postTitle: new RegExp( ".*" + keyword + ".*" ) }).then(posts => {
        res.render('post/search', {
            pageTitle: 'Search result for: ' + keyword,
            posts: posts,
            category: postCategory,
            posts: catPost,
        });
     }).catch(err => console.log(err));
    }
    

    I think you will find it helpful

    0 讨论(0)
提交回复
热议问题