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

标签 python regex

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

此正则表达式有效但在第一个条件下失败;它不是以点开头:

^[A-Za-z0-9][^.]*[^-_.][A-Za-z0-9]$

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

最佳答案

来自您的 previous question ,你应该能够使用:

^[^.].*[^-_.]$

但是如果你希望能够匹配一个 1 个字符的字符串,你将需要负先行:

^(?![.])(?!.*[-_.]$).+

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

^(?![.])(?!.*[-_.]$).*

关于python - 正则表达式不是以点开头或以点结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21558681/

相关文章:

javascript - jQuery/JavaScript 正则表达式从字符串返回匹配的文本

用于 Openstack 登录的 Python 蜘蛛

python - 从另一个文件 PyQt4 访问操作按钮

python - 用矢量化方法替换 python for 循环以丢弃丢失的数据

regex - 如何仅使用 grep/sed 提取子字符串和数字

regex - 使用正则表达式从 View 中排除 Jenkins 作业

regex - sed 匹配模式与变量中的多行字符串

Python:正则表达式在空格上分割(但在[]中保持元素不分割)并在数组中添加 ""作为换行符

python - 有缺陷的随机数生成器?

python - Python 中的线程——我错过了什么?