[x[1] for x in matches]
x
newtest = [x2[-2:] for x2 in x]
newtest
我有一张单子
[u'asvbsMasd', u'abdhesMrty', u'ahdksC', u'ahdeO', u'ahdnL', u'ahddsS',]
现在我想让我的列表像一个冒号,在冒号之间找到小写和大写
[u'asvbs:Masd', u'abdhes:Mrty', u'ahdks:C', u'ahde:Oqqq', u'ahdn:L', u'ahdds:S',]
Tags:
您需要编写与<;lowercase>;<;uppercase>;对匹配的正则表达式:
注意字母本身通过
()
标记为组。如果正则表达式将成对字母和相邻字母作为两个独立的组进行匹配,则可以只使用替换(\1
和\2
是将匹配的组放入替换字符串的位置):然后可以使用列表理解将替换应用于列表的每个元素:
或者如果你想把它包装成一个函数:
当然,您可以将其简化为一个lambda,如下一个示例中所示。你知道吗
一个重要的免责声明,正如我看到您使用Unicode字符串一样:没有简单的方法可以找到任意的Unicode大小写字符。对于匹配任何数字(
\d
)或任何字母数字字符(\w
),没有类似的速记定义。如果还需要匹配变音符号,则可能需要在regex中显式列出语言的小写和大写变音符号,如:这应该可以为拉丁语和欧洲语言做好准备。你知道吗
相关问题 更多 >
编程相关推荐