我想要一個正則表達式來限制輸入十進制值在最大值。 16位數字或15位數字和一個字符(包括小數點)十進制值的正則表達式限制16位數
我發現下面正則表達式它工作在C#代碼查找,但是當我在TextEdit xaml作爲掩碼使用它。 (DevExpress的)引發異常syntax error
:
面膜:
^(?:(?=.{0,16}$)\d*\.\d+|\d{0,16})[kKmMbBtT]?$
文本編輯的XAML:
<dxe:TextEdit HorizontalAlignment="Left" MaskType="RegEx"
Mask="(?:(?=.{0,16}$)[0-9]*([.]?[0-9]+)|[0-9]{0,16})[kKmMbBtT]?"
VerticalAlignment="Top" Width="150"
EditValue="{Binding DecValue, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
Margin="10,33,0,0"/>
目的我想從它來實現:
- 用戶可以在16位輸入十進制值(包括小數點)或
- 用戶可以輸入15位和一個字符(包含小數點)
- 他可以只輸入小數點一次
- 輸入的總長度字符串不能超過16個字符。
MaskType =「正則表達式「Mask =」(?:(?=。{0,16} $)[0-9] *([。]?[0-9] +)| [0-9] {0,16})[kKmMbBtT ]?」 –
什麼是例外? –
@GrantWinney例外是:'語法錯誤',直接在'XAML'編輯器中拋出。 – nempoBu4