我正在尝试使用textarea
中的#来匹配单词 var start=/#/ig; // # Match
var word=/#(\w+)/ig; //#abc Match
var content=$('#text').val();
var go= content.match(start); //Content Matching #
var name= content.match(word); //Content Matching #abc
这里检查文本区域中的值并给出以#开头的输出字 如果发现有两场比赛,则显示两场比赛,但我只需要最后一场比赛
答案 0 :(得分:1)
.match()
函数返回一个匹配数组。
如果要选择最后一个元素,则需要选择它:
name[name.length-1];
name.length
返回元素数量-1
因为数组键以0而不是1 这是一个fiddle,感谢Dave Briand
答案 1 :(得分:0)
试试这个
content = "~test content ~thanks ok ~fine";
strFine = content.lastIndexOf('~');
它为您传递的最后一个匹配字符或单词或字符串提供索引...
答案 2 :(得分:0)
这个怎么样?
var text = $('textarea').val(); // "#maxi kcdjnd dcjjncd #ijicd"
//Find all ocurrences of words starting with # and ending in space, period or end of text
var lastMatch = text.match(/(#.*?)(\s|$|\.)/g).pop();
// match returns ["maxi", "#ijicd"]. pop will get the last element
答案 3 :(得分:0)
re方法match
通常返回一个数组。要获得最后一场比赛,您可以使用以下内容:
var name= content.match(word);
var lastMatch = (!!name) ? name.pop() : name;
如果没有匹配,则该方法返回null
,并且您希望确保不要尝试将null
作为数组进行操作。