2016-09-07 7 views
1

は、彼らが使いたいものを指定することができます確認する: ユーザーコマンドは次のようになります。別の言葉でJavascriptを - 正規表現ユーザーが正しいフォーマットされた入力を書く場合、私のCLIのユーザーが

include=name1,name2,name3 
category=name1,name2 
category=name1 

を、コマンドは常に構成されてい

  1. コマンド名:ちょうどincludeまたはcategory
  2. =ことができます。すべてのコマンドに
  3. で3部の ,

により分割された0

  • 名や、彼らが使用したいものの名前は、どのように私は、これは他のすべての常に真が、偽取得するためにテストすることができます。

    私は正規表現では本当に悪いですが、私はこのような何か試してみました:category=name1ことが、成功しなかっただろう、少なくとも、最も簡単な代替、単にテストに

    /\category|include=\w/.test(str); 
    

    を。

    誰かがこれを手伝ってくれますか?

  • 答えて

    3

    あなたは正しい道にいました。ここでは固定された正規表現です:

    /^(category|include)=\w+(,\w+)*$/.test(str); 
    

    注:

    • 代替部品
    • 周りの括弧\w+あなたは
    • オプション(,\w+)*
    • をいくつかの文字を持つことができるように、文字列の始まりと終わり(^$)をchec文字列全体
    2

    k個あなたはrequorementために、この正規表現を使用することができます。

    /^(category|include)=(\w+(?:,\w+)*)$/ 
    

    RegEx Demo

    \w+(?:,\w+)*)を値の部分に=後にカンマで区切られた単語の1以上を許可します。

    +1

    これで正しい答えを選ぶのが難しいので、私は@Denysの主観的な点から、私にとってより読みやすいと判断しました。しかし、この答えのための親指と回答 – Andurit

    +0

    のために私は重複した回答を投稿したいが、これを保持していない他の答えはもともと(それは後でそれを動作させるために編集された) – anubhava

    関連する問題