我想在C#中为我的规则创建一个正则表达式验证。我的规则如下:
@N [货币] [符号] 大小 [符号] [货币]
- 货币:
([$]|[~][^~]*[~])?
- 符号:
-
- 大小:
[1-9][0-9]*
(只有大小是必须的)
以下是正则表达式:[@][nN]([$]|[~][^~]*[~])?-?[1-9][0-9]*-?([$]|[~][^~]*[~])?
我的问题是,货币和符号应该只出现一次,要么在大小左边,要么在右边。这意味着如果符号已经在大小左边,则不应再在右边出现,货币也是同理。
使用正则表达式是否可能实现这个功能?
以下内容应匹配:
- @N$7-
- @N-7$
- @N$-7
- @N7-$
以下内容不应匹配:
- @N$5$
- @N$-5-
- @N-5-