我拥有大约80k数据的大型数据库。 客户参考编号后跟客户名称。问题是客户 参考编号可能包含字母,特殊字符等。但是这些字符只是大写字母,不会超过两个字符而且不会小写 字母。
所以,我正在尝试使用正则表达式搜索大写,后跟两个小写 字母。
我成功地使用了表达式
(.)[(A-Z)][(a-z)][(a-z)]
但我不知道如何提供标签,因为用\t \1
替换它会删除前三个标签
字符。请帮忙。并请解释我,它是如何工作的。
答案 0 :(得分:2)
如果我正确理解了您的问题,您希望将参考号与名称分开。如果是这样,请在Notepad ++中转到Search
> Replace
菜单(快捷键 CTRL + H )并执行以下操作:
找到:
^.+?\K(?=[A-Z][a-z])
替换为:
\t
选择单选按钮“正则表达式”
然后按“全部替换”
这将转换以下假设示例:
E34E!John Doe
123$#@ERFrank
要:
E34E! John Doe
123$#@ER Frank
您可以在regex101在线测试,在那里您还可以找到分析说明。说实话,对于一个对正则表达式知之甚少的人来说,我的方法有点复杂。您可以使用捕获组,它们将产生完全相同的结果,并且更容易理解,如下所示:
查找:^(.+?)([A-Z][a-z])
替换:$1\t$2