Javascript 使用RegExp获取字符串的最后一个匹配项
假设我的文本如下: 购买这款手机的一个令人信服的原因可能是它的显示屏。当然,我们会喜欢全高清的,但是我们还是因为价格太高而闭嘴了。屏幕响应性也很好 我只想获取文本中最后出现的“the”字符串的索引。(使用RegExp) 仅给出字符串Javascript 使用RegExp获取字符串的最后一个匹配项,javascript,regex,Javascript,Regex,假设我的文本如下: 购买这款手机的一个令人信服的原因可能是它的显示屏。当然,我们会喜欢全高清的,但是我们还是因为价格太高而闭嘴了。屏幕响应性也很好 我只想获取文本中最后出现的“the”字符串的索引。(使用RegExp) 仅给出字符串第一次出现的位置。 有什么建议吗 为什么需要正则表达式来查找最后出现的子字符串。您可以使用本机.lastIndexOf()方法: re.lastIndexOf("the"); 为什么需要正则表达式来查找最后出现的子字符串。您可以使用本机.lastIndexOf()方
第一次出现的位置。
有什么建议吗 为什么需要正则表达式来查找最后出现的子字符串。您可以使用本机.lastIndexOf()
方法:
re.lastIndexOf("the");
为什么需要正则表达式来查找最后出现的子字符串。您可以使用本机.lastIndexOf()
方法:
re.lastIndexOf("the");
单向
var pos = -1;
while ((match = re.exec(str)) != null)
pos = match.index;
alert("last match found at " + pos);
单向
var pos = -1;
while ((match = re.exec(str)) != null)
pos = match.index;
alert("last match found at " + pos);
正则表达式是/\b(?(.|\n)*\b)/
(无全局标志!)…表示“The”一词,后面不跟“The”一词
要测试:
var re = new RegExp('\\b' + input + '\\b(?!(.|\\n)*\\b' + input + '\\b)');
var pos = re.test(str) ? re.exec(str).index : -1;
正则表达式是/\b(?(.|\n)*\b)/
(无全局标志!)…表示“The”一词,后面不跟“The”一词
要测试:
var re = new RegExp('\\b' + input + '\\b(?!(.|\\n)*\\b' + input + '\\b)');
var pos = re.test(str) ? re.exec(str).index : -1;
为什么用正则表达式过度使用它?仅供参考,这与普通JavaScript jQuery无关。你知道如何使用regex实现这一点吗?我想你可能误解了lastIndex
在你的问题中的含义<当使用test()
或exec()
时,code>lastIndex
用于设置查找下一个匹配项的开始位置。为什么要用regex过度杀死它?仅供参考,这与普通JavaScript jQuery无关。你知道如何使用regex实现这一点吗?我想你可能误解了lastIndex
在你的问题中的含义<当使用test()
或exec()
时,code>lastIndex用于设置查找下一个匹配项的开始位置。知道如何使用regex实现这一点吗?@SashiKant:为什么要使它复杂化?让它复杂化吧。。因为你是用regex做的任何想法如何用regex做这件事…@SashiKant:你为什么把它复杂化了?让它复杂化吧。。因为您需要使用regexA正则表达式来完成这项工作,但并未真正提交。:-)涉及正则表达式,但未真正提交。:-)