Python正则表达式,+X是什么意思?

2024-04-25 19:41:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难弄清楚这个regex模式到底在搜索什么,主要是因为结尾的数字。据我所知,这是说搜索任何字符不是a-z和重复它的整个字符串。这三个是做什么的?你知道吗

   [^a-z.+3]

谢谢!你知道吗


Tags: 字符串结尾模式数字字符regex
3条回答

在字符类中,所有字符都失去了它们的特殊意义(如果有的话),只有第一个^被用来否定这个类,-被用来定义一个范围(除了第一个和最后一个位置),最后的反斜杠可能开始一个转义序列,]关闭这个类。你知道吗

3是文字字符3+是文字字符+.是文字.,仅此而已。你知道吗

[^a-z.+3]匹配一个不在此列表中的字符,并且与[^.a-z3+][^+.a-z3]相同

[^a-z.+3]匹配除a-z.+3以外的字符

举个例子

x = 'stack overflow... 363 is amazing++useful'

让我们逐个获取regex中的每个元素。你知道吗

[^a-z]匹配除a-z以外的字符

In [19]: re.findall(r'[^a-z]', x)
Out[19]: [' ', '.', '.', '.', ' ', '3', '6', '3', ' ', ' ', '+', '+']

[^a-z.]匹配除a-z.以外的字符

In [20]: re.findall(r'[^a-z.]', x)
Out[20]: [' ', ' ', '3', '6', '3', ' ', ' ', '+', '+']

[^a-z.+]匹配除a-z.+以外的字符

In [21]: re.findall(r'[^a-z.+]', x)
Out[21]: [' ', ' ', '3', '6', '3', ' ', ' ']

[^a-z.+3]匹配除a-z.+3以外的字符

In [22]: re.findall(r'[^a-z.+3]', x)
Out[22]: [' ', ' ', '6', ' ', ' ']

它搜索任何东西not in lowercase a-z, dot, plus sign and number 3 试试here。粘贴在正则表达式模式中

相关问题 更多 >