Mam wyrażeń regularnych, aby uzyskać @user z textarea. Kiedy użytkownik pisze coś z @, otrzymuję go.dostać tylko ostatni mecz? .match (word)
Mój problem polega na tym, że chcę dostać tylko ostatni mecz, nie wszystkie.
np
Typ użytkownika:
@josh and @marie = want to show @marie
@josh loves @marie and @anne = show @anne
mój kod pokazuje tak:
@josh,@marie,@anne
mogę uzyskać tylko ostatni wpis @something? (Podczas gdy użytkownik pisze)
var word=/@(\w+)/ig;
$("#comment").on("keyup",function() {
var content = $(this).val();
var name = content.match(word);
var dataString = name;
if(name.length > 0) {
$("#result").text(name);
}
return false();
});
html
<textarea id=comment>@josh and @marie</textarea>
<div id=result></div>
https://jsfiddle.net/dcs5pat8/ (naciśnij na textarea)
Możliwy duplikat [JavaScript RegExp: Czy mogę dostać ostatnią dopasowanego indeksu lub szukaj do tyłu/RightToLeft?] (http://stackoverflow.com/questions/4313918/javascript-regexp-can-i-get-the-last-matched-index-or-search-backwards-righttol) – JJJ
spójrz na to blog.bigbinary.com/2010/03/31/regular-expressions-in-JavaScript.html metoda dopasowania Metoda dopasowania działa dokładnie tak jak metoda exec, jeśli nie przekazano parametru g. Gdy flaga globalna jest włączona, mecz zwraca tablicę zawierającą wszystkie dopasowania. – mfadel
co z wykorzystaniem podciągu? – mfadel