Rule regexp nicht erkannt

Hey,
ich habe heute einige Regeln erstellt, aber bei der einen will der Online Rule Tester das Muster nicht erkennen.
Im normalen regexp Tester erkennt er das regexp.

(?:(?:[^,\.]+,){2}[^.!?]+)

Das ist ein, Satz, mit vielen, Kommata.

Und hier die Rule die ich im Regel Tester eingegeben habe:

<rule id="Komma" name="Leichte Sprache: Keine Schatelsätze">
  <pattern>
    <token regexp='yes'>(?:(?:[^,\.]+,){2}[^.!?]+)</token>
  </pattern>
  <message>Vermeiden Sie viele Kommata.</message>
  <example type="incorrect" correction=""><marker>Das ist ein Satz, mit vielen, Kommata</marker>.</example>
  <example type="correct">Das ist ein Satz ohne Komma.</example>
</rule>

Habe ich den Marker falsch gesetzt?

Eine weitere Idee war, pattern weg zu lassen und dafür direkt regexp zu verwenden. Allerdings kann man das nicht im Online Rule Tester testen. Muss man dann trotzdem noch die marker angeben?

Ich hoffe jemand kann mir helfen.

Viele Grüße
Simon

Hi Simon!

Ein Token ist ein Satzbestandteil. Das kannst du sehen, wenn du den Satz “Das ist schön.” auf Text Analysis - LanguageTool analysierst. Der Satz besteht aus 5 Token.

Der Ausdruck <token regexp='yes'>(?:(?:[^,\.]+,){2}[^.!?]+)</token> wendet den regulären auf jedes der 5 Token an.

Es ist in LT auch möglich einen regulären Ausdruck auf einen ganzen Satz anzuwenden. Beispiel:

<rule id="MIR_MIR" name="Wiederholung Dativ: mir mir/dir/uns">
    <regexp>\bmir (mir|dir|ihm|uns|euch|ihnen|meinem|deinem|seinem|unserem|eurem|ihrem)\b</regexp>
    <message>Hier wird ein Dativ-Pronomen wiederholt. Meinten Sie vielleicht <suggestion>mit \1</suggestion>?</message>
    <example correction="mit dir">Ich will <marker>mir dir</marker> reden.</example>
</rule>

Leider kann der Online-Ruleedttor damit nicht umgehen. Die Angabe der Marker ist hier nicht nötig, da das gesamte Pattern markiert wird.

2 Likes

Super vielen Dank für die Erklärung :thumbsup: