2017-05-03 3 views
-2

正規表現に表現が4/5を受け入れるようにスラッシュ記号を追加するが正規表現に分裂を追加

^(\+|-)?(\d+)?([.]?\d*)?$ 

ルックを除算記号を追加します。

+0

指定した正規表現は、数字のみと小数を許可しません。ブラウザ上で指定されたテキストボックスに分割やスラッシュを受け入れる正規表現が必要です。例えば、答えがテキストボックスで0.8であるが、4/5であってもよい。 – Chat

答えて

1

/と、数字に一致する正規表現を含むオプションの式を追加します。

^(\+|-)?(\d*)([.]?\d*)?(?:/(\+|-)?(\d*)([.]?\d*)?)?$ 

ところで、(\d+)?(\d*)に簡素化することができます。

0

言語パーサーが
の整数や非指数の10進数の解析方法に沿った正規表現を使用する必要があります。

これは、Barmar氏のように、オプションのスラッシュプラス数字を追加するだけでよいと述べています。

^(?:([+-]?)(\d+(?:\.\d*)?|\.\d+)(?:\s*/\s*([+-]?)(\d+(?:\.\d*)?|\.\d+))?)$

書式付き

^
(?: 
     ([+-]?)      # (1), plus/minus sign 
     (       # (2 start), number 
      \d+ 
      (?: \. \d*)? 
     | \. \d+ 
    )        # (2 end) 
     (?:       # Optional division 
      \s* 
     /       # division sign 
      \s* 
      ([+-]?)      # (3), plus/minus sign 
      (       # (4 start), number 
       \d+ 
       (?: \. \d*)? 
      | \. \d+ 
      )        # (4 end) 
    )? 
) 
$ 
関連する問題