正则表达式不是以点开头或以点结尾

use*_*619 6 python regex

我需要一个不以dot开头或以[-_.]开头的正则表达式

以下正则表达式工作但第一个条件失败,即; 不是以dot开头的.

^[A-Za-z0-9][^.]*[^-_.][A-Za-z0-9]$
Run Code Online (Sandbox Code Playgroud)

例如:test.com应该是有效的字符串,但它失败了..

Jer*_*rry 9

从您之前的问题,您应该能够使用:

^[^.].*[^-_.]$
Run Code Online (Sandbox Code Playgroud)

但是,如果您希望能够匹配1个字符的字符串,则需要使用否定前瞻:

^(?![.])(?!.*[-_.]$).+
Run Code Online (Sandbox Code Playgroud)

如果你想匹配空字符串,只需使用*而不是+.

^(?![.])(?!.*[-_.]$).*
Run Code Online (Sandbox Code Playgroud)