Ich versuche, einen Regex-Ausdruck in JavaScript zu schreiben, der mit einem beliebigen String übereinstimmt, solange er mit einem Leerzeichen, einem octothorpe (#) und Zeichen beginnt. Ich möchte jedoch, dass dieser Ausdruck hexadezimale Codes ausschließt.Regex-Ausdruck, der #Tags, aber keine Hex-Codes entspricht
Ich habe diesen Ausdruck für die Erfassung #tags:
/([\s]#[^<\s]+)/g
und ich habe einen Ausdruck, der Hex-Codes im Format (#xxxxxx), dass mein größeres Programm sie werden empfangen erfasst:
/(#[0-9a-fA-F]{6,6}\b)/g
aber ich weiß nicht, wie man sie zusammensetzt, damit ich mit Übereinstimmungen komme, die durch den ersten Ausdruck beschrieben werden, aber nicht durch den zweiten.
Ich möchte alles in einer einzigen Regex-Anweisung tun. Wenn dies nicht möglich ist, würde ich gerne eine Möglichkeit kennen, alle Nicht-Hex-Strings, die mit # beginnen, mit einer Kombination aus Regex- und JavaScript-Funktionen zu erhalten. Ich benutze jQuery und Backbone.js, wenn das hilft.
Extra Credit:
Was ist der Unterschied zwischen diesen ist:
/(#[0-9a-fA-F]{6,6}\b)/g
und diese:
/(#[0-9a-fA-F]{6}\b)/g
Ich habe https://regex101.com benutze meine Ausdrücke zu schreiben und testen und beide scheinen die gleichen Ergebnisse zu liefern.
Können Sie Testeingabe bereitstellen? Was versuchst du zu erreichen? Was versuchst du nicht zu erreichen? Extra-Guthaben: Sie können einen Regex101.com-Permalink erstellen, der anzeigt, was Sie gerade tun. –
Für die Extra Credit: der einzige Unterschied ist: '{6}' ist viel schöner als '{6,6}' –