Javascript regex für passende twitter-ähnliche hashtags
Ich würde gerne etwas Hilfe herauszufinden, die JS regex zu verwenden, um zu identifizieren, "hashtags", wo Sie sollten, entsprechen alle der folgenden:
- Die üblichen twitter-Stil hashtags:
#foobar
- Hashtags mit text vorhergehenden:
abc123#xyz456
- Hashtags mit Raum in Ihnen, die bezeichnet werden als:
#[foo bar]
(die [] dient als Trennzeichen für die hashtag)
Für 1 und 2 war ich mit etwas in der folgenden form:
var all_re =/\S*#\S+/gi;
Ich kann nicht scheinen, um herauszufinden, wie Sie zu verlängern zu 3. Ich bin nicht gut in regexps, Hilfe bitte?
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also es passen entweder alle nicht-Leerzeichen oder Zeichen zwischen (und einschließlich)
[
und]
:Erklärung:
Referenz: Wechsel, negierte Zeichenklassen.
\S+
ist allgemeiner als\[...
, so wird es immer übereinstimmen. Behoben./(#[a-z\d]+)/g
.Wie über dieses?
Ich hatte ein ähnliches problem, aber möchte nur zu entsprechen, wenn ein string beginnt und endet mit dem hashtag. So ähnliches problem, ich hoffe jemand anders kann die Verwendung meiner Lösung.
Diese Spiele ein "#myhashtag", aber nicht "gfd#myhashtag" oder "#myhashtag ".
/^#\S+$/
^ #start of regex
\S #Any char that is not a white space
+ #Any number of said char
$ #End of string
Einfach ist das.