阿当仕
幼苗
共回答了31个问题采纳率:90.3% 举报
问题在于,你到底想要实现什么功能.
如果只是匹配“((重量-首重)*续重费用+首重费用)*折扣率+挂号费”这样固定形式的文本
那这样就可以了“((重量-首重)*续重费用+首重费用)*折扣率+挂号费”
如果你想要匹配的是数字,那把文字换成d+就可以了,捕获数字可以通过分组来捕获.
如果不是固定形式的文本,那么怎么知道哪个是重量,哪个是挂号费呢?
如果只是想要检查括号是否匹配(左右括号数量是否相等),可以利用平衡组来检查
^[w+-*/]*(((?'open'()[w+-*/]*)+((?'-open'))[w+-*/]*)+)*(?(open)(?!))$
平衡组需要.net的支持,如果是其它平台
可以分别对每个括号进行匹配,从小到大.
分成很多步来匹配,也好捕获单个括号中的内容.
1年前
8