python - 带有字母数字和破折号的正则表达式,没有前导和尾随破折号
问题描述
抱歉,如果我的问题很简单,但是我被阻止了。
我正在寻找一种方法来验证匹配几种情况的正则表达式:
- 最少 1 个字符(可以是字母或数字)
- 最多 100 个字符(可以是字母、数字和破折号)
- 不能以破折号开头
- 不能以破折号结尾
- 不能有 2 个以下破折号
我试过这个:^[a-zA-Z0-9]{1}(?:([a-zA-Z0-9][-]{0,1}){0,98}[a-zA-Z0-9])?$
它几乎适用于所有情况。除了这两种情况:
0-1234
(第二个字符上的破折号)- 如果我写 100 个字符 (0123456789[...]blablabla) 然后我在里面插入破折号,即使我不想超过 100 个字符,它仍然会验证字符串
有人能帮助我吗 ?非常感谢 !
解决方案
推荐阅读
- java - Xjc 为 fpml 模式生成 1000 多个类
- javascript - 按下回车键和另一个问题时如何随机激活和非激活按钮?
- python - SqlAlchemy 与 where 子句中的列表
- r - 如何在不影响绘图点数的情况下修改 x 轴级别?
- javascript - Cloud Firestore 中的删除给出“doc.delete 不是函数”
- c# - 如何让 UWP AppWindow 进入全屏模式?
- typescript - 如何键入检查对象键是否符合条件递归模板类型?
- c# - 如何使用 Windows.Media.SpeechSynthesis 保存音频?
- java - Flutter:当我尝试运行从 github 克隆的 Flutter 应用程序时,但构建失败,有人可以告诉我如何解决吗?
- scala - 读取文件时scala项目出错:原因:java.io.IOException:方案没有文件系统:文件