我一直在与这些该死的事情作斗争。我记得曾经有一位讲师告诉我们,如果你有一个问题需要你使用正则表达式来解决它,你实际上现在有两个问题。
好吧,我当然同意这一点。正则表达式是我们不经常使用的东西,但是当我们这样做时,就像阅读一些外星语言(无论如何对我来说很好)......我想我会下定决心得到这本书并进一步阅读。
我面临的挑战是,我需要根据以下标准验证用户名:
- 可以包含字母,大写和小写
- 可以包含数字
- 可以包含句点 (
.
) 和下划线 (_
) - 句点和下划线不能连续,即
__
..
不允许但._._
有效。 - 总共最多 20 个字符
到目前为止,我有以下内容:^[a-zA-Z_.]{0,20}$
但当然它允许重复下划线和句点。
现在,从一组有效字符和最大长度开始,我可能做错了。我一直在尝试(未成功)创建一些环视或后视或其他任何方法来搜索句点(.
)和下划线(_
)的无效重复,不确定将这个要求分解为正则表达式解决方案的方法或方法是什么。
任何人都可以协助推荐/替代方法或为我指明正确的方向吗?