dem*_*ist 0 python regex string
我想用来regex测试一个字符串是否-跟随一些有意的音符,或者是完全空白而没有任何类型的空格.
我在regex101.com上进行了测试,但我不明白这个$符号是如何不单独阻止该\n角色的匹配.
我如何调整我的陈述以符合我的期望?先谢谢你.
match(r"^(-.*|)$", "\n") is not None
#returns True
match(r"(^-.*$|^$)", "\n") is not None
#returns True
Run Code Online (Sandbox Code Playgroud)
问题是你使用$锚.来自文档:
'$'
匹配字符串的结尾或在字符串末尾的换行符之前,并且在MULTILINE模式下也匹配换行符.
你必须使用\Z,它只匹配字符串的末尾:
>>> re.match(r'^(-.*)?\Z', '\n') is None
True
Run Code Online (Sandbox Code Playgroud)
或者,您也可以删除锚点并使用re.fullmatch:
>>> re.fullmatch(r'(-.*)?', '\n') is None
True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |