博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ruby 数式匹配器
阅读量:5162 次
发布时间:2019-06-13

本文共 599 字,大约阅读时间需要 1 分钟。

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

 

转载于:https://www.cnblogs.com/lancgg/p/8281883.html

你可能感兴趣的文章
bzoj 4818: [Sdoi2017]序列计数
查看>>
生成对抗网络(Generative Adversarial Network)阅读笔记
查看>>
GIT原理和常用命令速成
查看>>
Jmeter之集合点与关联
查看>>
springboot整合webservice
查看>>
字符串匹配KMP算法详解
查看>>
单词查找排序输出
查看>>
TCP三次握手和四次挥手及用户访问网页流程
查看>>
echo常用操作
查看>>
算法笔记
查看>>
LeetCode 237. Delete Node in a Linked List 删除链表结点(只给定要删除的结点) C++/Java...
查看>>
LCA倍增模板
查看>>
EMS-Demo 雇员管理系统演示
查看>>
软件工程第二次作业——心得体会(结对编程)
查看>>
ORA-12560: TNS: 协议适配器错误 ORA-12154: TNS: 无法解析指定的连接标识符
查看>>
读书印记 - 《菊与刀》
查看>>
第一个小demo: spring boot + mybatis + thymeleaf
查看>>
mysql获取字段信息
查看>>
Tomcat 网站部署(三)
查看>>
JS实现全选与取消 Jquery判断checkbox是否被选中
查看>>