gpt4 book ai didi

python - 以任意顺序查找符号条目

转载 作者:行者123 更新时间:2023-12-01 05:01:30 25 4
gpt4 key购买 nike

我需要过滤包含一个或多个数字、一个或多个大写符号以及一个或多个小写符号的所有字符串。

我创建了下一个正则表达式语句:[0-9]+[A-Z]+[a-z]+。它的工作原理与我想要的差不多,但存在一些问题。它仅过滤字符串中包含数字、大写字母、小写字母的一一且仅按此顺序的字符串。我知道必须进行一些修复来指定“在字符串的任何部分以任何顺序查找此子字符串”。但我在文档中找不到这个。

有一些例子:

input: d23de32 output: false
input: ffFF88 output: true
input: ferGr444 output: true
input: 12343534 output: false
input: AAAA444 output: false

附注我不知道这是否重要,但问题出在 python 的正则表达式中。

最佳答案

这里需要使用lookahead,

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).*$

仅匹配字母数字字符串。

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])[A-Za-z0-9]*$

DEMO

(?=.*?[A-Z]) - Positive lookahead is used here which asserts that the input must contain an uppercase letter.
(?=.*?[a-z]) - Asserts that the input contains a lowercase letter.
(?=.*?[0-9]) - Asserts that the input contains a digit.

关于python - 以任意顺序查找符号条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26037205/

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