表达式前后缀表达形式

本文介绍了一种将中缀表达式转换为前缀和后缀表达式的简便方法,并通过实例详细解析了转换过程。
35,15,+,80,70,-,*,20,/               //后缀表达方式

(((35+15)*(80-70))/20)=25           //中缀表达方式  

/,*,+,35,15,-,80,70, 20             //前缀表达方式 

人的思维方式很容易固定~~!正如习惯拉10进制。就对2,3,4,8,16
等进制不知所措一样~~!

人们习惯的运算方式是中缀表达式。而碰到前缀,后缀方式。。迷茫
其实仅仅是一种表达式子的方式而已(不被你习惯的方式)
我这里教你一种也许你老师都没跟你讲的简单转换方式

一个中缀式到其他式子的转换方法~~
这里我给出一个中缀表达式~
a+b*c-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号~
        式子变成拉:((a+(b*c))-(d+e))
第二步:转换前缀与后缀表达式
        前缀:把运算符号移动到对应的括号前面
              则变成拉:-( +(a *(bc)) +(de))
              把括号去掉:-+a*bc+de  前缀式子出现
        后缀:把运算符号移动到对应的括号后面
              则变成拉:((a(bc)* )+ (de)+ )-
              把括号去掉:abc*+de+-  后缀式子出现
在 JavaScript 中使用正则表达式匹配 ` ` 实体时,需要注意 HTML 文档中 ` ` 的实际表示形式。如果页面中的 ` ` 是以原始的字符实体形式存在的(即 ` `),则需要在正则表达式中进行相应的匹配。 以下是一个完整的示例代码,展示如何在 JavaScript 中检测页面中所有的 ` ` 实体,并输出其出现的位置: ```javascript (function () { var htmlContent = document.body.innerHTML; var regex = / /g; var match; var positions = []; while ((match = regex.exec(htmlContent)) !== null) { positions.push(match.index); } console.log("检测到   的总数量:" + positions.length); console.log("所有   出现的位置:" + positions.join(", ")); })(); ``` 上述代码通过获取 `body` 的 `innerHTML`,然后利用正则表达式 `/ /g` 进行全局搜索,记录每个匹配项的位置[^2]。这种方式适用于检查网页中 ` ` 的分布情况,并可用于进一步分析其对布局的影响。 如果页面中 ` ` 是直接渲染为不可见空格字符(即 Unicode 字符 `\u00A0`),则应使用正则表达式 `/\\u00A0/g` 或 `/[\u00A0]/g` 来匹配这些非断点空格[^2]。 ### 匹配 HTML 实体和 Unicode 空格的综合方案 为了确保无论 ` ` 是以 HTML 实体形式存在还是已被浏览器解析为 Unicode 字符,都可以采用更全面的匹配策略: ```javascript var htmlContent = document.body.innerHTML; var entityRegex = / /g; var unicodeRegex = /\u00A0/g; var entityPositions = []; var unicodePositions = []; // 检测 HTML 实体形式的   while ((match = entityRegex.exec(htmlContent)) !== null) { entityPositions.push(match.index); } // 检测 Unicode 形式的   while ((match = unicodeRegex.exec(htmlContent)) !== null) { unicodePositions.push(match.index); } console.log("HTML 实体形式的   数量:" + entityPositions.length); console.log("HTML 实体形式的   位置:" + entityPositions.join(", ")); console.log("Unicode 形式的 \\u00A0 数量:" + unicodePositions.length); console.log("Unicode 形式的 \\u00A0 位置:" + unicodePositions.join(", ")); ``` 该脚本分别检测了两种常见的 ` ` 表达形式,适用于更复杂的页面结构和调试场景[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值