python - 如果字符串中存在模式,则匹配模式
问题描述
我正在尝试构建具有以下要求的正则表达式
- 图案应以字母开头
a-z
- 可以有字符类中的任何字符
[\w:-]
。 - 可以有任意数量的下划线
_
,但前提是:
模式中它之前有一个地方。
一些有效模式的例子
你好123
你好:123
你好你好
hello:123-hello_345 # 有效模式,因为:
之前的模式中有 a_
你好 1:hell_world_123
无效模式
你好_123
你好-123_world
你好_123:世界
我尝试过使用前瞻,但由于某种原因它不起作用,下面是我想出的模式
^[a-z]+[a-z0-9:-]*(?<=:)[_]*\w*
- 这个模式的问题是,如果:
字符串中没有任何地方,它会停止匹配整个模式,所以它有点成为:
必需的模式。
我只想检查字符串中:
是否存在_
before :
。
解决方案
推荐阅读
- pdo - “错误:找不到驱动程序”触发“致命错误:未捕获的错误:在 null 上调用成员函数 prepare()”
- node.js - Nodejs Bcrypt + Heroku 部署失败
- objective-c - Objective-C:登录页面后标签栏项目的标题不会改变,但从xCode重新启动时有效?
- android - 如何在支持 unicode 的 Android 中创建 PDF
- asp.net - 从另一个动作重定向到一个动作
- php - 请任何人都可以解释这个代码,我正在处理发送 php 代码的电子邮件,我在 GitHub 上找到了这个代码?
- mysql - MySQL服务器的一般日志在插入表后显示一条记录“查询回滚”,但记录仍在表中
- php - 未定义的偏移量:1 使用复选框
- spring - 在 Spring Boot 中为 REST API 使用 Jersey 而不是 Spring MVC 有什么好处?
- linux - 如何在 Redhat 上根据磁盘名称区分闪存盘