2009-07-15 144 views
0

我有一个YAML片断YAML解析器窒息

... 
passwordregexp: '.{8},[0-9],[^0-9A-Za-z ],[A-Z],[a-z]' 
passwordregexpfailmessage: |- 
    Contain at least 8 characters 
    Contain at least 1 Number 
    Contain at least 1 Special Character 
    Contain at least 1 Upper Case Letter 
    Contain at least 1 Lower Case Letter 
passwordresetperiod: 1000 
pdflatex_path: /usr/local/texlive/bin/x86_64-linux/pdflatex 
... 

我YAML解析器上Passwordregexfailmessage扼流圈: 它清楚它不喜欢的语法,但我不熟悉YAML。你如何引用或构造这个元素来使它可以被解析。

如果密码不符合passwordregexp标准,则显示此信息。

回答

0

该文件是有效YAML 1.1

 
%YAML 1.1 
--- 
!!map { 
    ? !!str "passwordregexp" 
    : !!str ".{8},[0-9],[^0-9A-Za-z ],[A-Z],[a-z]", 
    ? !!str "passwordregexpfailmessage" 
    : !!str "Contain at least 8 characters\nContain at least 1 Number\nContain at\ 
     \ least 1 Special Character\nContain at least 1 Upper Case Letter\nContain\ 
     \ at least 1 Lower Case Letter", 
    ? !!str "passwordresetperiod" 
    : !!int "1000", 
    ? !!str "pdflatex_path" 
    : !!str "/usr/local/texlive/bin/x86_64-linux/pdflatex", 
} 
... 

什么是解析器?它支持YAML 1.1吗?

+0

谢谢安德烈的努力,但我想通了。这个字符' - '令人窒息。所以不是这样的: | - 至少包含8个字符 至少包含1个数字 我将其替换为: | 至少包含8个字符 至少包含1个数字 多数民众赞成你是如何代表基于这篇wiki文章http://en.wikipedia.org/wiki/String_literal多行字符。搜索多行字符串表示 – Afamee 2009-07-16 18:53:33