Atharva Raykar <raykar.ath@xxxxxxxxx> writes: >> Having said that, two further points. >> >> - the "anything but whitespaces and various forms of parentheses" >> set would include backslash, so 'component\new' would be taken as >> a single word with "[^][()\\{\\} \t]+", wouldn't it? >> >> - how common is the use of backslashes in identifiers? I am trying >> to see if the additional complexity needed to support them is >> worth the benefit. > > I have refined the regex, and now it is much simpler and does all of what > I want it to: > > "([^][)(}{[:space:]])+" OK, [:space:] is already used elsewhere, so it would be OK. In practice, the only difference from "[ \t]" (which is used in many other patterns in the same file) is that [:space:] class includes form-feed (\Ctrl-L); nobody would write vertical-tab in the code, and the matching is done one line at a time, so the fact that LF (or CRLF) is in the [:space:] class does not make a difference anyway. > I did not have to escape the various parentheses, so I avoided the need to > handle backslashes separately. The "\\t" was causing problems as well because If you spelled "\\t" that would have caused a problem of your own making ;-) I think what I gave in the message you are responding to was a single backslash followed by a 't', to let the compiler turn them into a single HT character, and that wouldn't have had such a problem---in fact "[ \t]" is used in many other existing rules in the same file. Thanks.