我有一些字母 - 数字字符形式的符号,后跟一个数字.这个数字是一年,我需要扩展到两位数年份,其中9年成为09年,任何其他年份都以1为前缀.
例如:
GCZ0 -> GCZ10
GCZ1 -> GCZ11
...
GCZ8 -> GCZ18
GCZ9 -> GCZ09
Run Code Online (Sandbox Code Playgroud)
我正在玩,([A-Z]+)([9+])([0-9]+)但我不知道如何让替换有条件地包括正确的0或1前缀.
一个正则表达的大师能指出我正确的方向吗?出于不幸的原因,我需要在单个Java正则表达式匹配/替换中执行此操作.
谢谢,乔恩
出于不幸的原因,我需要在单个Java正则表达式匹配/替换中执行此操作.
似乎怀疑存在这样的解决方案......传统的方法是使用Matcher.appendReplacement和Matcher.appendTail迭代源字符串,找到模式匹配,对它们执行任意逻辑,并替换适当的替换.
在Javascript中,您可以将函数String.replace()用作"智能替换"而不是固定字符串.