Regex 限制正则表达式搜索&;替换为某些记录

Regex 限制正则表达式搜索&;替换为某些记录,regex,textpad,Regex,Textpad,我有一批正在应用标准化格式的记录。每个批处理都有几个标题记录,不应触碰这些记录,然后是数百条用户记录 其中一种格式是在任何没有句号的首字母或缩写后加上句号,例如“Smith,Dan F'M,或“St Sebastian” Textpad中我的(基于Perl的)正则表达式是这样开始的- (\<[[:upper:]]\>(?:'[[:upper:]])?)([", ]) 我的问题是排除标题行。标题行不以alpha开头,用户行以alpha开头。我的想法是在前面加上- ^[[:

我有一批正在应用标准化格式的记录。每个批处理都有几个标题记录,不应触碰这些记录,然后是数百条用户记录

其中一种格式是在任何没有句号的首字母或缩写后加上句号,例如“Smith,Dan F'M,“St Sebastian”

Textpad中我的(基于Perl的)正则表达式是这样开始的-

(\<[[:upper:]]\>(?:'[[:upper:]])?)([", ])
我的问题是排除标题行。标题行不以alpha开头,用户行以alpha开头。我的想法是在前面加上-

 ^[[:alpha:]].*?
这是通过从记录的开始进行选择来实现的,但是我需要多次运行“replaceall”,以获取记录中可能出现的尽可能多的缩写(三个似乎可以)


是否有任何正则表达式构造可以“归位”到用户记录中,并且只选择/替换每个小元素,这样光标就不会移过同一记录中下一个首字母的开头?

为回答我的问题提供了更新-

当我把这个问题放到Textpad论坛上时,我得到了一个答案。似乎没有一种通用构造可以在一次过程中启用多个匹配和替换,同时排除不以alpha开头的行。这是因为光标点已移动过替换点

论坛主持人建议使用Regex条件表达式来解决这个问题。i、 e.为1个首字母、2个首字母和3个首字母编码匹配表达式。如果格式结构良好,这可能会起作用。然而,我掌握的数据变量太大

我将通过简单的方法来解决这个问题,按照问题文本中的建议,多次执行查找和替换,并在宏中自动执行

莱尔

 ^[[:alpha:]].*?