I have an input field where both regular text and sprintf tags can be entered.
Example: some text here. %1$s done %2$d times
How do I validate the s
The UTF-8 modifier is not necessary unless you use UTF-8 in your pattern. And beside that the sprintf format is more complex, try the following
/%(?:\d+\$)?[dfsu]/
This would match both the %s
and %1$s
format.
But if you want to check every occurrence of %
and whether a valid sprintf()
format is following, regular expressions would not be a good choice. A sequential parser would be better.