javascript - 如何从字符串中获取最后一个字母?

标签 javascript regex

我有以下字符串

str = '"Apples" AND "Bananas" OR Gala Me'

我想在结尾加入“Gala Me”片段。单词“AND”、“OR”或引号之间的任何内容都可以视为标记。我有这个正则表达式。

regex = /AND|OR|"[^"]+"/g

它匹配我所有的标记,但我怎么能得到这个正则表达式的反义词来得到不匹配的子字符串呢?

最佳答案

您可以使用标记split() 字符串:

var parts = str.split(/\s*(?:AND|OR|"[^"]+")\s*/)

// ["", "", "", "", "Gala Me"]

可选地,您可以按长度过滤它们:

var parts = str.split(/\s*(?:AND|OR|"[^"]+")\s*/).filter(function(s) {
    return s.length > 0;
});

// ["Gala Me"]

然后,您选择最后一个元素(如果适用):

if (parts.length) {
  console.log(parts.pop());
}

// "Gala Me"

关于javascript - 如何从字符串中获取最后一个字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14858431/

相关文章:

javascript - 为什么我不能在 if 语句中添加 var

javascript替换字符串和url之前的字符

regex - inotifywait 根据修改的文件类型运行命令

javascript - 正则表达式 : can't find right expression

javascript - DataTables - 处理具有特定单元格类别的行

javascript - jQuery的$().each()排序顺序有保证吗?

javascript - 在 JavaScript 中使用 eval 进行对象实例化

c++ - 使用 boost::regex 时如何指定回车符和换行符匹配?

regex - 积极的后向断言和用 Vim 替换?

javascript - 单独处理数组中的多个 promise