Saturday, 30 April 2016

Regex match for HTML tag containing "on" JS trigger



I want to check if an HTML tag (potentially split across multiple lines) contains an "on" JS trigger. The actual HTML tag and the Javascript are of no consequence. For example:



    onblur="foo()"/>Other stuff


I've got most of this to work using the pattern:



    <\w+([^>])+?(on\w+)+[\s\S]+?>



However, this also matches:



    

Other stuff



I modified the original pattern to:



    <\w+([^>])+?(\s)+(on\w+)+[\s\S]+?>


but this matches only if the JS trigger keyword is preceded by 2 or more whitespace characters. A nudge in the right direction would be appreciated.


Answer




Might work <\w+(?=\s)[^>]*?\s(on\w+)[\s\S]+?>


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...