要实现不使用正则表达式的单词模式匹配,可以使用以下方法:
pattern_to_word和word_to_pattern来建立模式字符和单词字符之间的双向映射关系。def wordPattern(pattern, string):
    pattern_chars = list(pattern)
    string_words = string.split()
    if len(pattern_chars) != len(string_words):
        return False
    pattern_to_word = {}
    word_to_pattern = {}
    for i in range(len(pattern_chars)):
        pattern_char = pattern_chars[i]
        word = string_words[i]
        if pattern_char not in pattern_to_word:
            pattern_to_word[pattern_char] = word
        elif pattern_to_word[pattern_char] != word:
            return False
        
        if word not in word_to_pattern:
            word_to_pattern[word] = pattern_char
        elif word_to_pattern[word] != pattern_char:
            return False
    
    return True
pattern_to_word来建立模式字符和单词之间的映射关系。used_words来存储已经使用过的单词,用于判断是否有重复映射。def wordPattern(pattern, string):
    pattern_chars = list(pattern)
    string_words = string.split()
    if len(pattern_chars) != len(string_words):
        return False
    pattern_to_word = {}
    used_words = set()
    for i in range(len(pattern_chars)):
        pattern_char = pattern_chars[i]
        word = string_words[i]
        if pattern_char not in pattern_to_word:
            if word in used_words:
                return False
            pattern_to_word[pattern_char] = word
            used_words.add(word)
        elif pattern_to_word[pattern_char] != word:
            return False
    
    return True
这两种方法都不使用正则表达式,通过字典和映射关系的方式来实现单词模式的匹配。