Ruby 数式匹配器
2024-09-02 05:46:42
str = "x^2 + 12317 +X^2 - Length"
str = " x ^ 2 + y ^ 2 = 2 "
count = 8.4
print("count: #{count} ")
if /^(\s*[a-zA-Z]+\s*\(\s*[0-9a-zA-Z]+\s*\)\s*[\+\-\*\/\=]\s*)?\s*[0-9a-zA-Z]+\s*\^?\s*[0-9a-zA-Z]*\s*[\+\-\*\/]\s*(\s*[0-9a-zA-Z]+\^?[0-9a-zA-Z]*\s*)\s*(\s*[\+\-\*\/\=]\s*[0-9a-zA-Z]+)?/ =~ str
puts(MATCHED)
else
puts(DISMATCHED)
end
str = str.gsub(/\s+/, "")
str = str.gsub(/\+/, " + ")
str = str.gsub(/\-/, " - ")
str = str.gsub(/\*/, " * ")
str = str.gsub(/\//, " \\ ")
str = str.gsub(/\=/, " = ")
puts(str)
运行结果
count: 8.4
matched
x^2 + y^2 = 2
最新文章
- getRuntime
- Spring Shedule Task之注解实现 (两次启动Schedule Task 的解决方案)
- 关于MySQL5.6.25在Win7 64bit下重装后无法启动的解决方法
- TortoiseSVN安装以及淘宝 TAE SDK 开发环境的搭建
- Tactical Multiple Defense System 二分图
- Lambdas in Java 8--reference
- jquery的ajax和原始的ajax这两种方式的使用方法
- c++面试(二)
- qq去广告
- mongodb实现简单的增删改查
- PL/SQL Developer下设置“长SQL自己主动换行”
- 线段树(hdu 1754 i hate it)
- Delphi的RzDbgrid改变某行的背景色
- Unity 和android 交互 记录
- js验证码实现
- Linux工作环境:CentOS7最小安装+Xfce桌面环境
- C#对实体进行JSON序列化时枚举的处理
- node.js的安装配置——前端的配置
- iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager
- 9.JavaScript简单计算器的实现
热门文章
- Codeforces 513G1 513G2 Inversions problem [概率dp]
- 没啥用,更换注册表信息使webbrower选择适合的版本
- 学习日常笔记<;day15>;mysql基础
- 文本框变更值触发js事件
- CSS浮动通俗讲解
- 解决java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException
- 在XX公司工作第二天,维护已有代码
- STM32 USB复合设备编写
- RabbitMQ通过shovel插件迁移数据
- 在VC6.0中多线程编程演示样例(带同步信号量)