我正在创建一个正则表达式,但找不到适合以下情况的正则表达式:
- 仅支持小写和"/&""后面必须跟一个小写字母
- 如果出现斜线,则第一个字符必须是斜线
- 有效:"/abc/def";,或";abc";,或"/ab/cdefg">
- 无效:"ABC";,或";ABC";,或"//abc";,或";abc/def";,或"/abc/">
使用替换:
^([a-z]+|(/[a-z]+)+)$
观看现场演示。
正则表达式允许整个输入(通过^(...)$
(为:
[a-z]+
-所有小写字母,或(/[a-z]+)+
-一个斜线,然后至少有一个小写字母,全部至少一次
这可以实现您想要的(在Python中(:
import re
strings = ["/abc/def", "abc", "/ABC", "ABC", "//abc", "abc/def", "/abc/"]
for s in strings:
pat = r'^(([a-z]+)|((/(?=[^/])[a-z]+)+))$'
print('YES: ' if re.match(pat, s) else 'NO: ', s)