<div dir="ltr">Hi,<br><br> > Yet I feel like you actually wanted to point out something different with your mail from the start<br><br>I want to illustrate how augeas' limitations make it difficult or impossible to match even the simplest statements. For those comfortable with the generic modules, here are the equivalences:<br>        let spaces              = /[ \t]+/ " "          = Sep.space<br>        let spaces_none         = del /[ \t]*/ ""       = Sep.opt_space<br>        let equal               = del /=/ "="           = Sep.equal<br><br> > let match = [ Util.del_opt_ws "" . key Rx.word . Sep.space_equal . (store Rx.word)? . Util.comment_noindent? ]<br><br>Now these are the conditions violated in each case by your suggestion:<br><br>n   |    let record  = [ key Rx.word . Sep.space? . Sep.equal . Sep.space? ]<br>n   |                | [ key Rx.word . Sep.space? . Sep.equal . Sep.space? . comment ]<br>n   |                | [ key Rx.word . Sep.space? . Sep.equal . Sep.space? . value ]<br>y   |                | [ key Rx.word . Sep.space? . Sep.equal . Sep.space? . value . spaces? . comment ]<br><br>y   |    let record  = [ key Rx.word . Sep.space? . Sep.equal . Sep.opt_space ]<br>n   |                | [ key Rx.word . Sep.space? . Sep.equal . Sep.space? . comment ]<br>y   |                | [ key Rx.word . Sep.space? . Sep.equal . Sep.space? . value . Sep.opt_space ]<br>y   |                | [ key Rx.word . Sep.space? . Sep.equal . Sep.space? . value . Sep.space? . comment ]<br><br>That said, I have already worked out a possible and complicated solution for each of the above ambiguous cases.<br><br>Sincerely,</div>