Regex 如何匹配除小写字母以外的任何内容?

Regex 如何匹配除小写字母以外的任何内容?,regex,Regex,我正试图想出一个正则表达式,它允许小写字母与其他字符一起使用,但如果只有小写字母,则不允许 e、 g 因此,一个简单的^[a-Za-z0-9]+$不会起作用 下面是我想要实现的一个示例,最后一个文件夹包含一个始终以小写字母表示的城市,因此我想排除一个模式: 如何在用于python的正则表达式中实现这一点?试试看 ^(?![a-z\s]*$) 这应该匹配不只包含小写字符和空格的字符串。如果需要,请删除\s。如果要允许匹配空格,并且字符串不应仅包含小写字符或允许空字符串: ^(?![a-z ]+$

我正试图想出一个正则表达式,它允许小写字母与其他字符一起使用,但如果只有小写字母,则不允许

e、 g

因此,一个简单的
^[a-Za-z0-9]+$
不会起作用

下面是我想要实现的一个示例,最后一个文件夹包含一个始终以小写字母表示的城市,因此我想排除一个模式:

如何在用于python的正则表达式中实现这一点?

试试看 ^(?![a-z\s]*$)
这应该匹配不只包含小写字符和空格的字符串。如果需要,请删除\s。

如果要允许匹配空格,并且字符串不应仅包含小写字符或允许空字符串:

^(?![a-z ]+$)[A-Za-z0-9 ]*[A-Za-z0-9][A-Za-z0-9 ]*$

或者,如果不使用前瞻,则至少匹配一个大写字符或数字

^[A-Za-z0-9 ]*[A-Z0-9][A-Za-z0-9 ]*$

编辑

对于更新后的数据,您可以使用负前瞻
(?!./[a-z]+/)
来断言右边的内容不仅仅是前斜杠之间的小写字符

^/(hunde|kleinanzeigen)/(?!.*/[a-z]+/).*(prp_[a-z0-9_]+_\d+|cat_48_5030.*)\.html$

或者更广泛的匹配:

^/(hunde|kleinanzeigen)/(?!.*/[a-z]+/)\S+\.html$

您可以在此处使用替代选项:

^(?:[^a-z]+|(?=[^a-z]).+)$

此正则表达式表示要匹配:

^(?:            from the start of the string
    [^a-z]+     all non lowercase letters
    |           OR
    (?=[^a-z])  assert that at least one non lowercase letter character appears
    .+          then match one or more of any type of character
)$              end of the string

怎么样
^[A-Za-z0-9]*[A-z0-9][A-Za-z0-9]*$
。那么至少有一个字符必须是a-z以外的字符。
EXAMPLE
是否匹配?具体来说,没有小写字母的东西是不是匹配的?嗯。。。有趣的方法,我必须承认我不完全理解为什么这应该起作用。最后两个括号是否只允许一个字符?请尝试
\b(?![a-z]+\b)\w+//code>@TimBiegeleisen是的,唯一不匹配的是字符串仅包含小字符。谢谢,因为似乎有很多可能的解决方案,而且集成到我的实际使用中似乎很困难,我已经编辑了问题并添加了一个示例。谢谢,因为似乎有很多可能的解决方案,而且融入我的实际生活使用似乎很困难,我已经编辑了问题并添加了一个示例。谢谢,因为似乎有很多可能的解决方案,融入我的实际生活使用似乎很困难,我编辑了问题并添加了一个示例。
^(?:            from the start of the string
    [^a-z]+     all non lowercase letters
    |           OR
    (?=[^a-z])  assert that at least one non lowercase letter character appears
    .+          then match one or more of any type of character
)$              end of the string