正则表达式-匹配单词前单个字符的所有实例

时间:2018-09-06 11:22:29

标签: regex

我希望能够在文本中的一组单词(“ asc或desc”)之前返回单个字符()。 例如 文字:col1:asc,col2:desc

期望它返回两次“:”。 有什么想法可以让我在单词之前抓住前面的字符吗?

3 个答案:

答案 0 :(得分:1)

假设您使用的支持正则表达式的正则表达式可以执行以下操作:

/\W(?=asc|desc)/

此处演示:https://regexr.com/3v1sj

答案 1 :(得分:1)

var test = [
    'Text: col1:asc,col2:desc',
];
console.log(test.map(function (a) {
  return a.match(/.(?=asc|desc)/g);
}));

哪里

  • .匹配1个任意字符
  • (?=asc|desc)是一个正向的超前行为,它是一个零长度的断言,可确保后面有“ asc”或“ desc”。
  • /g是全局标记,搜索所有匹配项

答案 2 :(得分:0)

我不确定我的意图是否正确,但是您是否尝试过

(.)\w+

访问第一组总是返回单词前面的字符(使用js和python)

相关问题