我无法做正则表达

时间:2015-09-21 07:41:53

标签: javascript regex node.js mongodb

我在mongoDB中有这个变量:Física我有一个属性nameEducación Física的模型。

我会创建一个正则表达式,传递变量Física不返回我Educación Física,但如果数据库有一个名称为fisicaFisiCa或其他的模型,我把它还给YES。

我正在使用nodeJSmongoDBJavascript ...

抱歉我的英文,非常感谢你。

2 个答案:

答案 0 :(得分:7)

你需要的是:

  1. 主播$ocLazyLoad表示"输入的开头"并且$serviceTest.testLoad()表示"输入结束"

  2. 不区分大小写^标记表示"忽略事物是否大写"

  3. 所以:

    $

    示例:

    i

    重新评论以下内容:

      

    我怎么能把fisica变成变量?因为fisica是一个例子,它是一个从前端发送到后端的变量

    为此,您需要正则表达式构造函数var rex = /^fisica$/i; // ^ ^ ^ // | | +------ i flag (ignore case) // +------+-------- anchors

    if (rex.test(someString)) {
        // It matches...
    }
    

    如果RegExp中的值中有任何特殊于正则表达式的字符,则需要使用反斜杠对其进行转义。 This question and its answers覆盖了正则表达式。那么在那种情况下:

    var rex = new RegExp("^" + yourVariable + "$", "i");
    

答案 1 :(得分:1)

在mongoDB中,您可以在查询中使用$regex,其中包含以下选项:

db.collection.find({name:{$regex:/^fisica/, $options:'i'}})