忽略最后 4 个字符的正则表达式替换
Regex Substitution Ignoring Last 4 Characters
我是正则表达式的新手,所以我需要一些表达式方面的帮助。我有一个字符串...
CO999O0XABCD
我需要用数字“0”替换字母“O”的任何实例,但仅在字符串的前 8 个字符中,如下所示...
C099900XABCD
我考虑只做简单的 [O] 并替换为“0”,从统计上看,最后 4 位数字几乎总是字母,但我不想冒险将“O”更改为“ 0" 错误,因此将匹配项隔离到前 8 个字符是目标。这些字符是 OCR 驱动的,所以这是我试图通过不影响最后 4 个字符的替换来克服的通配符。
您能提供的任何帮助都会很有帮助。
谢谢,
布莱恩
如果您不能使用除正则表达式之外的其他东西,那么此模式将适用于 .NET(和 JS)环境,假设每个字符串都在单独一行的开头:
O(?<=^.{0,8})
我是正则表达式的新手,所以我需要一些表达式方面的帮助。我有一个字符串...
CO999O0XABCD
我需要用数字“0”替换字母“O”的任何实例,但仅在字符串的前 8 个字符中,如下所示...
C099900XABCD
我考虑只做简单的 [O] 并替换为“0”,从统计上看,最后 4 位数字几乎总是字母,但我不想冒险将“O”更改为“ 0" 错误,因此将匹配项隔离到前 8 个字符是目标。这些字符是 OCR 驱动的,所以这是我试图通过不影响最后 4 个字符的替换来克服的通配符。
您能提供的任何帮助都会很有帮助。
谢谢, 布莱恩
如果您不能使用除正则表达式之外的其他东西,那么此模式将适用于 .NET(和 JS)环境,假设每个字符串都在单独一行的开头:
O(?<=^.{0,8})