2024-04-25 19:41:48 发布
网友
我很难弄清楚这个regex模式到底在搜索什么,主要是因为结尾的数字。据我所知,这是说搜索任何字符不是a-z和重复它的整个字符串。这三个是做什么的?你知道吗
[^a-z.+3]
谢谢!你知道吗
在字符类中,所有字符都失去了它们的特殊意义(如果有的话),只有第一个^被用来否定这个类,-被用来定义一个范围(除了第一个和最后一个位置),最后的反斜杠可能开始一个转义序列,]关闭这个类。你知道吗
^
-
]
3是文字字符3,+是文字字符+,.是文字.,仅此而已。你知道吗
3
+
.
[^a-z.+3]匹配一个不在此列表中的字符,并且与[^.a-z3+]或[^+.a-z3]相同
[^.a-z3+]
[^+.a-z3]
[^a-z.+3]匹配除a-z.+和3以外的字符
a-z
举个例子
x = 'stack overflow... 363 is amazing++useful'
让我们逐个获取regex中的每个元素。你知道吗
[^a-z]匹配除a-z以外的字符
[^a-z]
In [19]: re.findall(r'[^a-z]', x) Out[19]: [' ', '.', '.', '.', ' ', '3', '6', '3', ' ', ' ', '+', '+']
[^a-z.]匹配除a-z和.以外的字符
[^a-z.]
In [20]: re.findall(r'[^a-z.]', x) Out[20]: [' ', ' ', '3', '6', '3', ' ', ' ', '+', '+']
[^a-z.+]匹配除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。粘贴在正则表达式模式中
not in lowercase a-z, dot, plus sign and number 3
在字符类中,所有字符都失去了它们的特殊意义(如果有的话),只有第一个
^
被用来否定这个类,-
被用来定义一个范围(除了第一个和最后一个位置),最后的反斜杠可能开始一个转义序列,]
关闭这个类。你知道吗3
是文字字符3
,+
是文字字符+
,.
是文字.
,仅此而已。你知道吗[^a-z.+3]
匹配一个不在此列表中的字符,并且与[^.a-z3+]
或[^+.a-z3]
相同[^a-z.+3]
匹配除a-z
.
+
和3
以外的字符举个例子
让我们逐个获取regex中的每个元素。你知道吗
[^a-z]
匹配除a-z
以外的字符[^a-z.]
匹配除a-z
和.
以外的字符[^a-z.+]
匹配除a-z
.
+
以外的字符[^a-z.+3]
匹配除a-z
.
+
3
以外的字符它搜索任何东西
not in lowercase a-z, dot, plus sign and number 3
试试here。粘贴在正则表达式模式中相关问题 更多 >
编程相关推荐