Ich möchte den Satz “Bitte überprüfen Sie die im Textfeld “Neu” die hinterlegten Texte.” als falsch kennzeichnen und versuche dafür gerade eine Regel zu erstellen. Hier ist mein bisheriger Code:
<rule id="DOPPELT_DIE" name="die im Assistenten die hinterlegten Werte"><!-- [1] Hauptsatz -->
<antipattern><!-- Nicht, wenn es ein Nebensatz ist -->
<token postag="(KON:UNT|ADV:INR)" postag_regexp="yes" skip="7"/>
<token postag="ART:.+" postag_regexp="yes"/>
<token min="0" postag="(ART:.+|PRP:LOK.+)" postag_regexp="yes"/>
<token postag="(SUB|EIG):.+" postag_regexp="yes" skip="-1"/>
</antipattern>
<antipattern><!-- Nicht wenn zwischen den Verben Kommas, Gedankenstriche o.ä. sind -->
<token postag="ART:.+" postag_regexp="yes" skip="-1"/>
<token regexp="yes" skip="-1">(,|\.|:|–|-|;|!|\?|…|und|oder|\(|\{|\[|<|\)|\}|\]|>|„|"|»|›|‚|'|‘|’|“|‹|«)</token>
<token postag="ART:.+" postag_regexp="yes"></token>
</antipattern>
<antipattern><!-- Nicht wenn zwischen den Verben Kommas, Gedankenstriche o.ä. sind -->
<token postag="ART:.+" postag_regexp="yes" skip="-1"/>
<token postag="SUB:(.+)" postag_regexp="yes"></token>
<token postag="ART:(.+):GEN:.+" postag_regexp="yes" skip="-1"></token>
<token postag="SUB:GEN:(.+)" postag_regexp="yes"></token>
</antipattern>
<pattern case_sensitive="yes">
<token postag="ART:.+" postag_regexp="yes" skip="-1"><exception regexp="yes" scope="next">(und|oder|\(|\{|\[|<|\)|\}|\]|>|„|"|»|›|‚|'|‘|’|“|‹|«|\n)</exception></token>
<token min="0" postag="PRP:(.+)" postag_regexp="yes" skip="-1"></token>
<token postag="SUB:(.+)" postag_regexp="yes"></token><marker>
<token postag="ART:.+" postag_regexp="yes" skip="-1"></token></marker>
<token postag="SUB:.+" postag_regexp="yes"></token>
</pattern>
<message>Der Artikel "\2" kommt versehentlich doppelt vor. Oder fehlt vllt. ein Komma?</message>
<short>Doppelter Artikel</short>
<example correction="">Bitte überprüfen Sie die im Textfeld "neu" <marker>die</marker> hinterlegten Texte.</example>
</rule>
Leider verursacht das momentan noch einige Falschalarme, vor allem wenn das zweite “die” im Objekt vorkommt. Gibt es eine Möglichkeit ein Satzelement in der grammar.xml als Objekt zu identifizieren?