William, I posted a detailed post covering how to get the line number of a violation in a thread I created:
How to get a darn single line to match and show up in your report as a violation!
The reason I created a separate thread is that this is fairly complex usage of regex and very painful to do. However, I think the post I made is exactly what you are looking for. You will need to use negation and decipher contextual ambiguity to create your rules. This is probably about a week learning curve for someone very familiar with regex and maybe a bit longer for someone with less exposure. Feel free to ask me any questions or post an example if you want me to post a rule to go against your example.