想要正则表达式接受$,0-9,a-z,+, - ,/,*?

时间:2014-10-29 13:03:30

标签: regex

想要正则表达式接受$,0-9,a-z,+, - ,/,*? 基本上输入就像 例1 - $ a + $ b    2 - $ a / 5    3 - 5 + 6

2 个答案:

答案 0 :(得分:0)

这应匹配任何指定的字符而不匹配其他字符。

/^[$0-9a-z+\-\/*]+$/

注意:' - '字符需要在这样的选择组中进行转义,因为它通常表示一系列可能的字符(即a-z或0-9)。

答案 1 :(得分:0)

如果您正在寻找验证算术表达式,则需要编写解析器或使用解析器生成器为您编写一个。虽然,老实说,大多数解析器生成器的学习曲线是这样的,至少对于像这样的简单表达式,通常手动编写它们通常更简单。

对于算术表达式的简单解析器实现,我建议你谷歌使用以下术语:

  1. 递归下降解析器
  2. shunting-yard algorithm
  3. 如果您想尝试解析器生成器路由,请参阅以下内容:

    1. 法/ yacc的
    2. GNU Bison
    3. ANTLR
    4. GOLD解析系统