Java/Android では、フォーマット文字列を使用して、見通しがどのように見えるかを指定できます。これらのフォーマット文字列は、たとえば、String.format()
またはに渡すことができます。Formatter()
簡単な例は%s
または%1$d
です。
ここで、JavaScript で動作し、特定のテキストから Java の書式文字列を抽出できる RegEx を書きたいと思います。
私の解決策は、次の正規表現になります。
%(([0-9]+\$)?)([,+ (\-#0]*)([0-9]*)(.[0-9]*)((hh|h|l|ll|L|z|j|t)*)(d|i|u|f|F|e|E|g|G|x|X|o|s|S|c|C|a|A|b|B|h|H|p|n|%)
ただし、これは最も簡単なケースでも機能しません ( %s
)。しかし、他のすべての(より複雑な)ケースではうまくいくようです。
ここで質問したいのは、これは良い (正しい) RegEx だと思いますか、それとも何か不足していると思いますか?
構文のソースは次のとおりです: Android の Formatter クラスとprintf フォーマット文字列