Python正则表达式匹配字母序列
我想制作一个正则表达式来匹配“AGGH”、“TIIK”、“6^^?”或其他但不是“AGGA”、“ABCD”。基本上重要的是字母的模式。有没有办法询问您以前拥有或没有的角色?
I want to make a regex to match "AGGH", "TIIK", "6^^?" or whatever but not "AGGA", "ABCD". Basically its the pattern of letters which matters. Is there a way to ask for a character you have or haven't previously had?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以像这样提取字符串的模式:
示例:
此函数使比较两个字符串的模式变得很简单。
You could extract the pattern of your strings like this:
Examples:
This function makes it trivial to compare the pattern of two strings.
有一种方法可以使用正则表达式来做到这一点:
输出:
它很丑陋,但它有效。 ;) 如果要匹配到字符串末尾,则需要美元符号之前的句点,它会消耗 (?!(?P=one)) 扫描的实际字符,这是“负前瞻断言”。
There is a way to do it with a regex:
output:
It's ugly, but it works. ;) The period before the dollar sign is needed if you want to match to end of string, it consumes the actual character which is scanned by the (?!(?P=one)), which is a "negative lookahead assertion".
为什么不直接使用子字符串搜索呢?
Why not just use substring search?
是的,您可以使用条件正则表达式:
请参阅 http://docs.python.org/library 查看详细信息/re.html
Yes, you can use conditional regex:
See the details at http://docs.python.org/library/re.html