Ich versuche, einen Modus zu erstellen, der Todo.txt-Format ermöglicht, die sehr, sehr einfach ist, aber mit einem seltsamen Regex-Verhalten, wenn Codemirror Ergebnisse übereinstimmt.Weird Regex Verhalten mit Codemirror's einfachen Modus
Grundsätzlich versuche ich alle Zeilen zu markieren beginnt mit "x" nach einem Leerzeichen und diese Bedingung nur am Anfang einer Zeile, aber Regex nimmt eine Zeichenfolge in der Mitte der Zeile.
Meine regex diese Bedingung nicht entsprechen, wenn sie auf andere Javascript regex Tools versuchen: https://regex101.com/r/kUXTqf/1
Hier meine regex Linie von der einfachen Modus Definition lautet:
{regex: /^(x).*$/, token: "task-completed"}
Und der Text, den ich bin Tests gegen:
x 2017-12-12 @geek add file location preference option +todotxtapp
(A) @geek completed task syntax highlighter rule needs tweak - it includes any character follows with whitespace - starting in the middle of the line +todotxtapp
(B) @geek design new app icon +todotxtapp
(C) @geek add priority shortcut cmd+up/down or similar +todotxtapp
asdasdasdasdasa x dsljhdsfkljg dhsklf sdaf
In der Praxis muss nur die erste Zeile übereinstimmen. Aber es entspricht dem halben Teil der zweiten Zeile und der letzten Zeile. See Ergebnis hier: http://take.ms/S2PEL
Seltsam, und ich konnte keine Dokumentation finden, die dieses Verhalten diskutiert. Wie deine Regex101-Demo zeigt, würde ich erwarten, dass dein Muster so funktioniert, wie du denkst. –