Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的正则表达式_Python_Regex - Fatal编程技术网

Python中的正则表达式

Python中的正则表达式,python,regex,Python,Regex,什么是正则表达式,它接受所有仅以字母开头的单词,并拒绝所有出现少于或多于三个连续正斜杠(//)的单词[如果且仅当斜杠存在] 例如: 允许使用ABC2123987 允许使用AV23DS///KOLJH 但是,FDG56/HJU这个词是不允许的 另外,FDG56///HJU是不允许的。这匹配任何以字母开头的字符串,并且包含零斜杠或正好三个连续斜杠 ^[A-Za-z][^/]*(///[^/]*)?$ 试试这个模式 re.compile('(\w+(///)?)*') 一个更好的模式,如本答案的注

什么是正则表达式,它接受所有仅以字母开头的单词,并拒绝所有出现少于或多于三个连续正斜杠(//)的单词[如果且仅当斜杠存在]

例如:

允许使用ABC2123987

允许使用AV23DS///KOLJH

但是,FDG56/HJU这个词是不允许的


另外,FDG56///HJU是不允许的。

这匹配任何以字母开头的字符串,并且包含零斜杠或正好三个连续斜杠

^[A-Za-z][^/]*(///[^/]*)?$
试试这个模式

re.compile('(\w+(///)?)*')
一个更好的模式,如本答案的注释所示:

re.compile('^[a-zA-Z]\w*?(///)?(\w+(///)?)*$')

你写代码了吗?用于在编写正则表达式时对其进行测试。如果三个正斜杠多次出现怎么办?那么不一定有三个正斜杠?你确定吗
re.match(r'^[:alpha:][^/]*(///[^/]*)?$','FEZ///zefzf')
->
None
…用
[A-Za-z]
替换
[:alpha:]
,以修复@Zulu指出的问题。感谢修复,这就是您尝试在不同地区实现智能化和可移植性所得到的结果。。。这很有用,但它确实很模糊。非常感谢。重新编译(r“^[A-Za-z][^/]*(///[^/]*)?$”)工作正常…这将匹配foo///bar///baz和123。@tripleee-我相信匹配的foo///bar///和baz与描述的规范匹配。匹配的123不匹配。我不确定有没有干净的方法来处理这件事。有什么建议吗?
([A-Za-z]\w*(///)?)*
@r3mus-如果三个斜杠后面跟一个数字字符,这就不起作用了。例如:abc///1abcWell,这不在标准中;)“所有单词仅以字母开头”而不是仅在///