RegEx/HTML/IDAttribute.regex.txt
# Matches an HTML ID attribute
(?<= # We only want to match an ID if it's in a tag # but we don't want to match the tag itself, so we use a lookbehind <[\w-]+ # to find the tag [^>]+?(?= # and anything but closing carets \z|id # until the end of the string or 'id' ) ) id # now we match the id itself \s{0,} # and optional whitespace = # and the equal \s{0,} # and more optional whitespace (?> # Then, there are 3 ways we can have an ID ' # Between single quotes (?<ID> # The ID is... ((?: ''| # any double paired quote OR \\'| # any slash-escaped single quote [^'] # any non-quote )*) ) ' # followed by the closing quote | # OR " # double quotes (?<ID> # The ID is... .*? # anything until (?<!(\\)) # a not-escape )" # double-quote | # OR (?<ID> # The ID is.. [\w-]+ # any number of word characters or dashes. ) ) |