Javascript Regex match tout mot commençant par '#' dans une chaîne de caractères
Je suis très nouveau à l'expression rationnelle. Je suis en train de faire correspondre n'importe quel mot qui commence par '#' dans une chaîne qui ne contient pas de retours à la ligne (contenu était déjà fendu à des retours à la ligne).
Exemple (ne fonctionne pas):
var string = "#iPhone should be able to compl#te and #delete items"
var matches = string.match(/(?=[\s*#])\w+/g)
//Want matches to contain [ 'iPhone', 'delete' ]
Je suis en train de faire correspondre n'importe quelle instance de '#', et de saisir la chose tout de suite après, tant qu'il y est au moins une lettre, un chiffre ou un symbole sur elle. Un espace ou un saut de ligne devrait terminer le match. Le '#' devrait démarrer à la chaîne ou être précédé par des espaces.
Cette solution PHP semble bonne, mais il utilise un coup d'oeil en arrière type de fonctionnalités que je ne sais pas si JS regex a:
regexp garder/correspond à aucun mot qui commence avec un certain caractère
Vous devez vous connecter pour publier un commentaire.
Vérifier cette démo.
match
avec elle, mais ce n'est pas ce qui est dans ma réponse. Mon code fonctionne avec le groupe n ° 1 pour obtenir les résultats que vous vouliez. Voir le lien de démonstration dans ma réponse à voir des résultats...Essayez ceci:
Vous avez réellement besoin pour correspondre à la valeur de hachage trop. Droit maintenant, vous êtes à la recherche pour le mot caractères qui suivent un position qui est immédiatement suivi par un ou plusieurs caractères qui ne sont pas les caractères de mot. D'échec, pour des raisons évidentes. Essayez plutôt ceci:
Bien sûr, l'anticipation est redondant maintenant, de sorte que vous pourriez aussi bien le supprimer:
Renvoie le désiré:
[ 'iPhone', 'delete' ]
Voici une démonstration: http://jsfiddle.net/w3cCU/1/
#
(par exemple: "Ne pas #trouver ce#mais #seulement ce")