regex_capture 0.1.1

Auto implement FromStr trait for struct with regex capture
Documentation
# 介绍
`regex_capture`是一个宏,用于根据正则表达式为结构体实现`FromStr` trait.

# 用法
示例如下:
```rust
#[derive(PartialEq, Debug)]
enum Gender {
    Male,
    Female,
}

fn gender_parser(s: &str) -> Result<Gender, String> {
    match s {
        "male" => Ok(Gender::Male),
        "female" => Ok(Gender::Female),
        _ => Err("invalid gender".to_string()),
    }
}

#[derive(RegexCapture)]
#[converter(regex = r"name=(?P<name>.+?), age=(?P<age>\d+), gender=(?P<gender>male|female)")]
struct Person {
    name: String,
    age: u32,
    #[converter(func = gender_parser)]
    gender: Gender,
}
```
其中, `#[converter(regex = ...)]`指定一个正则表达式, 该表达式必须包含和结构体中所有字段同名的捕获;
`#[converter(func = ...)]`为特定字段指定转换函数, 该函数类型为`&str -> Result`, 用于将正则表达式的捕获转换为字段类型.
未指定转换函数的字段, 会调用`parse`方法, 你也可以自行为其类型实现相应trait;

之后, 你可以使用如下方法来将字符串解析为结构体:
```rust
    static PERSON_STR: &str = "name=Chihaya Anon, age=15, gender=female";
    let pre = Person::from_str(PERSON_STR).unwrap();
    assert_eq!(pre.gender, Gender::Female);
    assert_eq!(pre.age, 15);
    assert_eq!(pre.name, "Chihaya Anon");
```