匹配最后一个字符,如果regex为空,则在最后一个字符旁边
Match last character, get next to last if regex is null
我试图获得字符串的最后一个字符,但只有当它匹配以下RegEx:
/'W/
如果不匹配,我希望它移动到下一个最后一个字符,并再次进行测试,直到找到匹配。
function getLastChar(s) {
var l = s.length - 1;
return s[l - i]; // need logic to keep checking for /'W/
}
getLastChar('hello.'); // returns '.', want it to return 'o'
我有以下想法如何匹配,如果字符不是一个字母/数字;然而,我正在寻找一个更优雅的解决方案,一个将允许我返回最后一个匹配字符在单行与三元if()
if(string.match(/'W/) !== null){
//keep looking for a match, going backwards.
}
/('w)'W*$/
捕获一个'w
字符,后跟零个或多个'W
字符,锚定在主题的末尾。
很简单。只做贪婪匹配直到最后一个'W
string.match(/.*('W)/)
如果您正在寻找一个简单的答案,您可以使用单个regex来完成它,而不需要循环-就像下面这样:
^.*('W)[^'W]*$
捕获组将包含最后一个非单词字符。
例如,在~~~~99*9上运行这个正则表达式将字符*放在捕获组中。
编辑:然而,重读你的问题后,似乎你真的想使用'w而不是'w——换句话说,你想要的是最后一个单词字符,而不是最后一个非单词字符。这很容易通过在上面的正则表达式中将'W换成'W来修复。
相关文章:
- Javascript:删除冒号的最后一个字符
- 如何在单击时从输入字段中删除最后一个字符
- 为什么jQuery正在删除文本的最后一个字符
- Javascript 切掉最后一个字符,如果有 2 个
- 使用JavaScript替换字符串的最后一个字符
- 打印regex之后的最后一个字符
- 字符串替换最后一个字符出现的斜杠
- 如何删除字符串的第一个和最后一个字符
- 如何使用jquery获取最后一个字符
- 使用dojo按键事件时无法避免最后一个字符输入
- Jquery:如何关注DIV的最后一个字符
- 查找字符串中类型的最后一个字符
- 打印出字符串中所有单词的最后一个字符
- 替换字符串的最后一个字符
- 删除元素文本中的最后一个字符
- 使用 Javascript 或 jQuery 删除最后一个字符
- JQuery 或 Javascript 代码,用于更改 html 文本中最后一个字符的字体
- 获取忽略空格的 JavaScript 字符串中的最后一个字符
- range.toString()截断javascript按键事件中的最后一个字符
- JS/JQuery-如果空格是第一个和/或最后一个字符,则从输入字段中删除空格