The `[\s\S]+` here matches any characters, including entire intervening questions.  Perhaps it should be `[^>]+` to match anything as long as there isn't a `>` in it, so that it will only find the label in the plain text preceding the input?