gpt4 book ai didi

python - 如何在 Python 中为部分正则表达式设置 ignorecase 标志?

转载 作者:太空狗 更新时间:2023-10-30 00:23:50 25 4
gpt4 key购买 nike

是否有可能在 Python 中实现像这样简单的东西:

#!/usr/bin/perl
my $a = 'Use HELLO1 code';
if($a =~ /(?i:use)\s+([A-Z0-9]+)\s+(?i:code)/){
print "$1\n";
}

字符串中间的token字母总是大写。其余单词的字母可以有任何大小写(USE、use、Use、CODE、code、Code等)

最佳答案

从 python 3.6 开始,您可以在组内使用标志:

(?imsx-imsx:...)

(Zero or more letters from the set 'i', 'm', 's', 'x', optionally followed by '-' followed by one or more letters from the same set.) The letters set or removes the corresponding flags: re.I (ignore case), re.M (multi-line), re.S (dot matches all), and re.X (verbose), for the part of the expression.

因此 (?i:use) 现在是一个正确的句法。来自 python3.6 终端:

>>> import re
>>> regex = re.compile('(?i:use)\s+([A-Z0-9]+)\s+(?i:code)')
>>> regex.match('Use HELLO1 code')
<_sre.SRE_Match object; span=(0, 15), match='Use HELLO1 code'>
>>> regex.match('use HELLO1 Code')
<_sre.SRE_Match object; span=(0, 15), match='use HELLO1 Code'>

关于python - 如何在 Python 中为部分正则表达式设置 ignorecase 标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1455160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com