Skip to content

Latest commit

 

History

History
22 lines (11 loc) · 679 Bytes

File metadata and controls

22 lines (11 loc) · 679 Bytes

本文来自廖雪峰,郎涯进行简单排版与补充

解释器模式,即Interpreter

  • 通过抽象语法树实现对用户输入的解释执行

  • 通常非常复杂,且一般只能解决一类特定问题

例如,匹配字符串的时候,由于匹配条件非常灵活,使得通过代码来实现非常不灵活。

正则表达式就是一个字符串,但要把正则表达式解析为语法树,然后再匹配指定的字符串,就需要一个解释器。

实现一个完整的正则表达式的解释器非常复杂,但是使用解释器模式却很简单:

String s = "+861012345678";
System.out.println(s.matches("^\\+\\d+$"));