C#正则表达式匹配混合运算公式例:((重量-首重)*续重费用+首重费用)*折扣率+挂号费 ,需要验证合法性,不许匹配中括号!还有 换成数字的运算公式也要!最好还有取出括号内容的.正则表达式实
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 15:47:08
![C#正则表达式匹配混合运算公式例:((重量-首重)*续重费用+首重费用)*折扣率+挂号费 ,需要验证合法性,不许匹配中括号!还有 换成数字的运算公式也要!最好还有取出括号内容的.正则表达式实](/uploads/image/z/13667372-44-2.jpg?t=C%23%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D%E6%B7%B7%E5%90%88%E8%BF%90%E7%AE%97%E5%85%AC%E5%BC%8F%E4%BE%8B%EF%BC%9A%28%28%E9%87%8D%E9%87%8F-%E9%A6%96%E9%87%8D%29%2A%E7%BB%AD%E9%87%8D%E8%B4%B9%E7%94%A8%2B%E9%A6%96%E9%87%8D%E8%B4%B9%E7%94%A8%29%2A%E6%8A%98%E6%89%A3%E7%8E%87%2B%E6%8C%82%E5%8F%B7%E8%B4%B9+%2C%E9%9C%80%E8%A6%81%E9%AA%8C%E8%AF%81%E5%90%88%E6%B3%95%E6%80%A7%2C%E4%B8%8D%E8%AE%B8%E5%8C%B9%E9%85%8D%E4%B8%AD%E6%8B%AC%E5%8F%B7%21%E8%BF%98%E6%9C%89+%E6%8D%A2%E6%88%90%E6%95%B0%E5%AD%97%E7%9A%84%E8%BF%90%E7%AE%97%E5%85%AC%E5%BC%8F%E4%B9%9F%E8%A6%81%21%E6%9C%80%E5%A5%BD%E8%BF%98%E6%9C%89%E5%8F%96%E5%87%BA%E6%8B%AC%E5%8F%B7%E5%86%85%E5%AE%B9%E7%9A%84.%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%AE%9E)
C#正则表达式匹配混合运算公式例:((重量-首重)*续重费用+首重费用)*折扣率+挂号费 ,需要验证合法性,不许匹配中括号!还有 换成数字的运算公式也要!最好还有取出括号内容的.正则表达式实
C#正则表达式匹配混合运算公式
例:((重量-首重)*续重费用+首重费用)*折扣率+挂号费 ,需要验证合法性,不许匹配中括号!
还有 换成数字的运算公式也要!
最好还有取出括号内容的.
正则表达式实在太复杂了,n多符号.
C#正则表达式匹配混合运算公式例:((重量-首重)*续重费用+首重费用)*折扣率+挂号费 ,需要验证合法性,不许匹配中括号!还有 换成数字的运算公式也要!最好还有取出括号内容的.正则表达式实
问题在于,你到底想要实现什么功能.
如果只是匹配“((重量-首重)*续重费用+首重费用)*折扣率+挂号费”这样固定形式的文本
那这样就可以了“\(\(重量-首重\)\*续重费用\+首重费用\)\*折扣率\+挂号费”
如果你想要匹配的是数字,那把文字换成\d+就可以了,捕获数字可以通过分组来捕获.
如果不是固定形式的文本,那么怎么知道哪个是重量,哪个是挂号费呢?
如果只是想要检查括号是否匹配(左右括号数量是否相等),可以利用平衡组来检查
^[\w+-*/]*(((?'open'\()[\w+-*/]*)+((?'-open'\))[\w+-*/]*)+)*(?(open)(?!))$
平衡组需要.net的支持,如果是其它平台
可以分别对每个括号进行匹配,从小到大.
分成很多步来匹配,也好捕获单个括号中的内容.