2024-09-26 18:10:54 发布
网友
我想做一个正则表达式来匹配“AGGH”,“TIIK”,“6^?”或者别的什么,但不是“AGGA”,“ABCD”。最重要的是字母的样式。有没有一种方法可以要求你拥有或从未拥有过的角色?在
为什么不直接使用子字符串搜索?在
if "AGGH" in myStr: print "Success!"
您可以像这样提取字符串的模式:
def pattern(s): d = {} return [d.setdefault(c, len(d)) for c in s]
示例:
此函数使比较两个字符串的模式变得非常简单。在
有一种方法可以使用regex来实现:
import re strs=("AGGH", "TIIK", "6^^?" ,"AGGA", "ABCD") p = re.compile('^(?P<one>.)(?P<two>.)(?P=two)(?!(?P=one)).$') for s in strs: print s, p.match(s)
输出:
虽然很难看,但很管用。;)美元符号前的句点是必需的,如果要匹配到字符串的末尾,它将消耗(?)扫描的实际字符?!(?P=one),这是一个“否定的前瞻性断言”。在
为什么不直接使用子字符串搜索?在
您可以像这样提取字符串的模式:
示例:
^{pr2}$此函数使比较两个字符串的模式变得非常简单。在
有一种方法可以使用regex来实现:
输出:
^{pr2}$虽然很难看,但很管用。;)美元符号前的句点是必需的,如果要匹配到字符串的末尾,它将消耗(?)扫描的实际字符?!(?P=one),这是一个“否定的前瞻性断言”。在
相关问题 更多 >
编程相关推荐