Regex to Find Four Open Brackets without a Closing Bracket -
i'm trying find places in .less files nested 4+ levels deep without being closed.
here i'm @ on rubular: http://rubular.com/r/a6uwyh0muv
and in case you'd prefer see example here on so:
ul {     width:100%;     li {         width: 25%;         {             color: @blue;             span {                 font-weight: normal;             }         }     } }  ul {     width:100%;     li {         width: 25%;         {             color: @blue;         }     } }  ul {     width:100%;     li {         width: 25%;     } }  ul {     width:100%; }   the 1 want match first test string has 4 nested css properties.
through various experiments, i've been able close still end matching parts of strings shouldn't caught regex.
any appreciated.
.*?(?:\{[^}]*?){4}(.*?\})  .*? makes sure find first one, not necessary (?:\{[^}]*?) finds 4 opening brackets without closing ones (.*?\}) capturing group until first closing bracket.   if that's not want, can modified.
solving request in comments:
.*?(?:\{[^}]*?){4}(.*?)\}    will give text contained within brackets (font-weight: normal;). did remove closing bracket capturing group.
and
.*?(?:\{[^}]*?){3}(\n[^\n]*?\{.*?\})   will solve second request. note way hackish , don't think work under circumstances. recommend first one, or tinkering 1 bit.
as crashing in sublime test 2, i'm not sure if can -- it's working me!
Comments
Post a Comment