Javascript Regex für das Zusammenbringen von Twitter-ähnlichen Hashtags

8

Ich hätte gerne Hilfe bei der Suche nach dem JS-Regex, um "Hashtags" zu identifizieren, wo sie alle folgenden Elemente enthalten sollten:

  1. Die üblichen Hashtags im Twitter-Stil: #foobar
  2. Hashtags mit vorangestelltem Text: abc123#xyz456
  3. Hashtags mit Leerzeichen in ihnen, die wie folgt angegeben sind: #[foo bar] (dh [] dient als Trennzeichen für das Hashtag)

Für 1 und 2 verwendete ich etwas von der folgenden Form:

%Vor%

Ich kann nicht herausfinden, wie ich es auf 3 erweitern kann. Ich bin nicht gut in Regexps, bitte etwas Hilfe?

Danke!

    
ragebiswas 07.08.2012, 13:21
quelle

3 Antworten

31

Es muss also entweder alle Nicht-Leerzeichen-Zeichen oder beliebige Zeichen zwischen (einschließlich) [ und ] :

übereinstimmen %Vor%

Erläuterung:

%Vor%

Referenz : Wechsel , negierte Zeichenklassen .

    
Felix Kling 07.08.2012, 13:25
quelle
2

Wie wäre es damit?

%Vor%     
xiaowl 07.08.2012 13:24
quelle
0

Ich hatte ein ähnliches Problem, möchte aber nur dann übereinstimmen, wenn eine Zeichenfolge mit dem Hashtag beginnt und endet. Also ähnliches Problem, hoffentlich kann jemand anderes meine Lösung nutzen.

Dieser passt "#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 so.

    
Martin Josefsson 27.08.2013 10:15
quelle

Tags und Links