用于计算 JavaScript 中字符串的正则表达式
Regular expression to evaluate string in javascript
我有一个文本字段,用户可以在其中编写一个数学表达式,其中可能包含if-else块。
因此,表达式可以如下所示,
a *b//这里 a 和 * 之间有空格
p+q//这里 p 和 + 之间没有空格
x+ y//这里 x 和 + bu 之间没有空格 + 和 y 之间
(x+y)(x*y)
if(a>10){a+b}else if(b>10){b-a}else{a+b}
if( age>18 ){ a+90 }else{ a-90 }//空格可能存在或不存在
if( 已婚 == "是"){ 总计*0.1 } 其他{ 总计*0.2 }//空格可能存在或不存在
以上这些示例都是有效的表达式。
我正在尝试使用单个正则表达式验证所有这些类型的表达式。正则表达式在 JavaScript 中是什么样的?
谢谢:)
不能使用正则表达式执行此操作。主要问题是您无法检查任意级别的嵌套括号、括号、大括号等是否平衡。(有关详细信息,请参阅此线程的答案。
在正则表达式中处理可选的空格很容易;只需's*
允许使用可选空格的每个位置,并在需要空格的地方使用's+
(例如,分隔单词 - 例如else's+if
,其中"else"和"if"之间必须至少有一个甚至可能更多的空格字符)。
相关文章:
- 将电子邮件验证正则表达式字符串存储在JSON中
- 带有模式的正则表达式字符串
- Javascript if数组包含正则表达式字符串
- 在JSON中指定正则表达式字符串,在JavaScript和PHP中使用
- 从正则表达式文本中获取正则表达式字符串表示的最佳方式
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- 正则表达式 - 字符串不应包含超过 7 位数字
- 在 javascript 中将正则表达式字符串转换为正则表达式不同
- Javascript:测试单个字符在正则表达式字符串中找到
- 正则表达式(字符串比较)
- 是否可以生成与正则表达式字符串匹配的字符串
- 正则表达式字符串匹配
- 正则表达式字符串比较忽略符号
- 是否可以使用正则表达式解析正则表达式字符串
- 正则表达式字符串在文档中替换为 JavaScript
- 如何使正则表达式字符串拒绝空白字段
- 拆分正则表达式字符串
- 表示正则表达式字符串表示法
- 将HTML标记添加到此正则表达式字符串中
- 将正则表达式字符串转换为javascript中的正则表达式对象