在 Java/Android 中,您可以使用格式字符串来指定某些 Outlook 的外观。例如,这些格式字符串可以传递给String.format()
或Formatter()
。
简单的例子是%s
or %1$d
。
现在我想编写一个在 JavaScript 中工作的 RegEx,让您从给定的文本中提取 Java 的格式字符串。
我的解决方案是以下正则表达式:
%(([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
)。但它似乎适用于所有其他(更复杂的)案例。
我在这里要问的是:你会说这是一个好的(正确的)正则表达式还是缺少什么?
我的语法来源是:Android's Formatter class and printf format strings