解析复杂的字符串

时间:2016-05-10 14:16:54

标签: php

问题:

用户通过html字段发送字符串,并要求系统检索行 来自数据库。

字符串是完整日期时间的部分或完整表示。

完整的格式是" yyyy-mm-ddThh:ii:ss.ss + hh:ii"

但用户也可以发送部分格式" yyyy-dd"," mm-dd"," hh"等等..

我需要构建一个在具体表示中转换用户输入的过程。

我看看Builder模式,以编程方式构建日期时间的所有部分。

我还查看解释器模式以解析用户输入,告诉构建器需要哪个部分。

问题:

这可能是正确的方法吗?

如何将未定义的字符串(具有多种组合)解析为具体的类表示?

简化的代码:

class Director {
 $interpreter;
 $builder;

 public function __construct( $interpreter, $builder ) {
  $this->interpreter = $interpreter;
  $this->builder = $builder;
 }

 public function buildFromString( $format ) {
  $this->interpreter->parse( $format );
 }
}

class Interpreter {

 public function parse( $format ) {
  //a good solution to parse the undefined input string
 }
}

由于

-------------------补充道 因为这个过程会导致各种各样的误解,如果用户输入" 10"用户界面要求用户定义他是否需要"年10","月10"或者"分钟10"但这是不可能的。

0 个答案:

没有答案