我正在建立一个系统来解析具有非常指定语法的字符串并修复用户错误。例如,语法需要 am/d/yy 格式的日期(没有前导 0),所以我需要进行以下替换:
- 10/01/13 -> 10/1/13
- 10/10/13 -> 没有变化
- 10/1/13 -> 没有变化
- 2013 年 1 月 10 日 -> 2013 年 1 月 10 日
我有很多这样的规则,我需要通过这些规则找到字符串的一部分并修复这些部分。我可以使用 RegEx 轻松识别需要更正的内容。举一个更简单的例子,我想找到CBUx[2-9]
,但是我需要用这样的东西替换CBU x [2-9]
(如果 x 前面有 CBU 并且后面有一个数字,则 x 周围的空格)。例子:
输入文本:“blah blah CBUx3”匹配:“CBUx3”替换:“CBU x 3”输出文本:“blah blah CBU x 3”
这可能吗?请注意,我完全知道我可以编写代码来查找斜杠和数字。我特别想通过“智能正则表达式替换”来做到这一点。我有很多不同类型的更正可以与 RegEx 匹配,并且我想避免为每种类型编写特定的更正程序。