理论上, 正则是无法实现的.
但是得益于现代正则引擎提供的额外能力, 是有可能做到的:
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文本 | 文本型 | | | 正则 | 正则表达式DEELX | | | 搜索结果 | 搜索结果DEELX | | 0 | 数 | 整数型 | | |
文本 = “((1+2)*4/5)+10+(20-30)*40/(50+60)-函数名()*变量名/函数名(参数1,参数2,变量)+HANSUMIN()-HANSU12()*BIANLIAN[I]”正则. 创建 (“([^\(\)\+\-\*\/]*?(\(((?:[^\(\)]|(?R))*)\)|\[((?:[^\[\]]|(?R))*)\]))|[\+\-\*\/]|[0-9]+|[^\(\)\+\-\*\/]*”, , )搜索结果 = 正则. 搜索全部 (文本 ) 计次循环首 (取数组成员数 (搜索结果 ), 数 ) 调试输出 (搜索结果 [数 ]. 取匹配文本 ()) 计次循环尾 ()|
DeelxRegEx | (未知支持库) | RegEx | spec |
* “((1+2)*4/5)”
* “+”
* “10”
* “+”
* “(20-30)”
* “*”
* “40”
* “/”
* “(50+60)”
* “-”
* “函数名()”
* “*”
* “变量名”
* “/”
* “函数名(参数1,参数2,变量)”
* “+”
* “HANSUMIN()”
* “-”
* “HANSU12()”
* “*”
* “BIANLIAN[I]”
被调试易程序运行完毕
|