2017-06-15 6 views
0

他の人のコードを使用して、データベースにクエリを生成するフロントエンドフィルタを構築しています。 「$」とキーは、それはNG-オプションで表示されていない場合、それは「$」なしで正常に表示されたときに、しかし

var operations = { 
    "$and" : "and", 
    "$or" : "or", 
    "$eq": "equal to (=)", 
    "$ne": "not equal (!=)", 
    "$gt": "greater than (>)", 
    "$lt": "less than (<)", 
    "$gte": "gerater than or equal to (>=)", 
    "$lte": "less than or equal to (<=)" 
} 

:私のようなオペレーションを構築する必要があります。私はおそらくそれは正規表現による影響を受けています、考えていますので、私は正規表現を含むコードの2つの部分がありますが見つかりました: 最初:

var currIndexTemp = query.expression ? query.expression.match(/[^A-Za-z()]/g) : 0; 

第二:

var expArray = expression.split(/((?:\(|\)|[A-Z]+|\d+))/g); 

私は、誰でもできる正規表現に慣れていないですが、問題の診断に役立ちますか?前もって感謝します!

+2

あなたの実際の目標は何ですか?あなたは何をしようとしているのですか? –

+0

これらの正規表現はAngularの一部ですか?もしそうなら、それらを変更することは賢明でない選択である可能性があります。 IMO、これは[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)の例です。 – Amy

+0

申し訳ありませんが皆さん、私は非常にはっきりと説明していないと思います。今私はこの問題を他の方法で解決しました。 –

答えて

0

ドル記号は、文字通り一致することができない特別な制御文字です(あなたはそれをエスケープする必要があります)。あなたは正規表現を使用することができます$eq言って、一致させるために

/\$eq/ 
^ escape $ 

を私は本当にあなたが書いた正規表現を得ることはありませんので、これは、あなたを助け願っています。彼らはあなたの質問には説明されていない全く異なることをしています。多分あなたが達成したいと思っていることとは違って尋ねます

+0

こんにちは、ありがとうございました。私はこの質問を非常にはっきりと表現していないと思いますが、今、私はこの問題を解決する別の方法を考え出しました。 –

関連する問題