@@ -637,29 +637,30 @@ if bDebug: print(" MATCH:", sValue) yield { "iNode1": iNode1, "dNode": dGraph[dNode[sValue]] } bTokenFound = True # regex value arcs - if "" in dNode: - for sRegex in dNode[""]: - if "¬" not in sRegex: - # no anti-pattern - if re.search(sRegex, dToken["sValue"]): - if bDebug: - print(" MATCH: ~" + sRegex) - yield { "iNode1": iNode1, "dNode": dGraph[dNode[""][sRegex]] } - bTokenFound = True - else: - # there is an anti-pattern - sPattern, sNegPattern = sRegex.split("¬", 1) - if sNegPattern and re.search(sNegPattern, dToken["sValue"]): - continue - if not sPattern or re.search(sPattern, dToken["sValue"]): - if bDebug: - print(" MATCH: ~" + sRegex) - yield { "iNode1": iNode1, "dNode": dGraph[dNode[""][sRegex]] } - bTokenFound = True + if dToken["sType"] not in frozenset(["INFO", "PUNC", "SIGN"]): + if "" in dNode: + for sRegex in dNode[""]: + if "¬" not in sRegex: + # no anti-pattern + if re.search(sRegex, dToken["sValue"]): + if bDebug: + print(" MATCH: ~" + sRegex) + yield { "iNode1": iNode1, "dNode": dGraph[dNode[""][sRegex]] } + bTokenFound = True + else: + # there is an anti-pattern + sPattern, sNegPattern = sRegex.split("¬", 1) + if sNegPattern and re.search(sNegPattern, dToken["sValue"]): + continue + if not sPattern or re.search(sPattern, dToken["sValue"]): + if bDebug: + print(" MATCH: ~" + sRegex) + yield { "iNode1": iNode1, "dNode": dGraph[dNode[""][sRegex]] } + bTokenFound = True # analysable tokens if dToken["sType"][0:4] == "WORD": # token lemmas if "" in dNode: for sLemma in _oSpellChecker.getLemma(dToken["sValue"]):