Sehr einfach, ich muss das #
-Symbol mit einem Regex übereinstimmen. Ich arbeite an einem Hashtag-Detektor.
Ich habe versucht, in Google und im Stapelüberlauf zu suchen. Ein verwandter Beitrag ist hier , aber da er das # -Symbol aus der Zeichenkette entfernen wollte, verwendete er keine Regex.
Ich habe versucht, die regexes /\b\#\w\w+/
und /\b#\w\w+/
und sie funktionieren nicht und wenn ich die #
entferne, erkennt es das Wort.
Du musst ihm nicht entkommen (es ist wahrscheinlich die \b
, die es abwirft):
#
hat in einer Regex keine spezielle Bedeutung, es sei denn, Sie verwenden es als Trennzeichen. Also leg es einfach rein und es sollte funktionieren.
Beachten Sie, dass \b
eine Wortgrenze erkennt, und in #abc
ist die Wortgrenze nach #
und vor abc
. Daher müssen Sie verwenden \b
ist überflüssig und Sie brauchen nur #\w\w+
.
Mit dem Kommentar zur vorherigen Antwort möchten Sie vermeiden, dass x#x
übereinstimmt.
In diesem Fall benötigen Sie nicht \b
, sondern \B
:
\B#(\w\w+)
(wenn Sie wirklich zwei oder mehr Wortzeichen nach dem # brauchen).
% \B
bedeutet NICHT-Wortgrenze, und da #
kein Wortzeichen ist, stimmt das genau überein, wenn das vorherige Zeichen kein Wortzeichen ist.
Sie könnten den folgenden Regex verwenden: /\#(\w+)/
, um einen Hashtag nur mit dem Hashtag-Wort abzugleichen, oder: /\#\w+/
stimmt mit dem gesamten Hashtag einschließlich Hash überein.