您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

匹配char的Python RegEx,后跟/以相同的char开头,但大写/小写

匹配char的Python RegEx,后跟/以相同的char开头,但大写/小写

您可以使用PyPi regex模块进行操作(请注意,它将与Java,PCRE(PHP,R,Delphi),Perl,.NET一起使用,但不适用于ECMAScript(JavaScript,C ++ std::regex),RE2(Go,Google Apps Script) ))使用

(\p{L})(?!\1)(?i:\1)

查看regex演示及其在Python中工作证明

import regex
rx = r'(\p{L})(?!\1)(?i:\1)'
print([x.group() for x in regex.finditer(rx, ' aA, Aa, bB, cC but not aB, aa, AA, aC, Ca')])
# => ['aA', 'Aa', 'bB', 'cC']

解决方案基于内联修饰符组,(?i:...)在该组中,所有字符均以不区分大小写的方式处理,而其他部分则区分大小写(不允许有其他字符(?i)re.I)。

在中re,您不能将模式的一部分设为可选,因为(?i)在模式的任何部分中,所有模式都不区分大小写。此外,re不支持修饰符组。

您可以使用类似

import re
rx = r'(?i)([^\W\d_])(\1)'
print([x.group() for x in re.finditer(rx, ' aA, Aa, bB, cC but not aB, aa, AA, aC, Ca') if x.group(1) != x.group(2)])

请参阅Python演示

if x.group(1) != x.group(2)条件会过滤掉不需要的匹配项。

python 2022/1/1 18:29:29 有201人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶