2017-05-03 55 views
-2

師符號添加到正則表達式添加師正則表達式

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

看加斜槓符號表達一樣接受4/5

+0

定正則表達式確實只允許數字和小數;想要在瀏覽器的給定文本框中接受除法或斜線的正則表達式。例如,如果在文本框中答案是0.8,但它也可以是4/5。 – Chat

回答

1

添加一個可選表達式,其中包含/和與數字匹配的正則表達式。

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

順便說一句,(\d+)?可以簡化爲(\d*)

0

您應該使用更符合語言分析器
解析整數或非指數小數的正則表達式。

也就是說,就像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) 
    )? 
) 
$