Per my comment, here is a function that you can call to tell you whether strings are recognized by the syntax table of some mode:
(defun my/syntax-string-capable-p (mode) (with-temp-buffer (funcall mode) (insert "\"This is a string\"") (goto-char (- (point) 2)) (if (nth 3 (syntax-ppss)) t nil)))
It takes a symbol as argument (the symbol corresponding to a major mode). The function then creates a temp buffer and sets the mode as specified, inserts a purported string and asks syntax-ppss to parse it. It returns t or nil according to the third (counting from 0) value in the list that syntax-ppss returns (see the doc string of parse-partial-sexp for an explanation of the values in that list).
You can call it like this: (my/syntax-string-capable-p major-mode) to test the capability of the mode of the current buffer, or you can call it like this: (my/syntax-string-capable-p 'text-mode) to test the capability of the given mode.
pointsomewhere in a string and then asksyntax-ppssto parse it: if(nth 3 (syntax-ppss))saysnil, then that syntax table does not recognize strings of whatever form you asked about. Whether that's enough to cover all your cases (and whether it's robust enough to work properly for all of them), I don't know - but it's worth trying, I think. DoC-h f syntax-ppssandC-h f parse-partial-sexpfor the details of the return value.