Regex 在某个短语后匹配逗号

Regex 在某个短语后匹配逗号,regex,atom-editor,Regex,Atom Editor,我使用的是Atom的正则表达式搜索和替换功能,而不是JavaScript代码 我认为这个与JavaScript兼容的正则表达式可以工作(我想匹配后面有或者更确切地说是的逗号): =负前瞻 \b=单词边界 (…)=搜索整个单词,而不是逐个字符 \b=单词边界 ,=实际字符 但是,如果我从“或者更确切地说”中删除字符,正则表达式仍然匹配。我很困惑 由于,不等于O,所以模式等于,,因为负前瞻总是返回true 要删除Atom中后面的逗号,或者更确切地说是,请使用 查找内容:\b(或者更确切地说),

我使用的是Atom的正则表达式搜索和替换功能,而不是JavaScript代码

我认为这个与JavaScript兼容的正则表达式可以工作(我想匹配后面有
或者更确切地说是
的逗号):

  • =负前瞻

  • \b
    =单词边界

  • (…)
    =搜索整个单词,而不是逐个字符

  • \b
    =单词边界

  • =实际字符

但是,如果我从“或者更确切地说”中删除字符,正则表达式仍然匹配。我很困惑

由于
不等于
O,所以
模式等于
,因为负前瞻总是返回true

要删除Atom中
后面的逗号,或者更确切地说是
,请使用

查找内容:
\b(或者更确切地说),

替换为
$1

确保选择
*
选项以启用正则表达式(并且
Aa
用于区分大小写交换)

\b(或者更确切地说,
匹配

  • \b
    -单词边界
  • (或者更确切地说)
    -捕获组1,该组1匹配并将
    或者更确切地说
    文本保存在内存缓冲区中,可以使用替换模式中的
    $1
    访问该缓冲区
  • -逗号
JS正则表达式演示:

var s=“或者更确切地说,是一张图片。\n或者更确切地说,是一张图片。\n或者更确切地说,是朋友。\n或者更确切地说,是一张图片---\n或者更确切地说,他们下次见面。”;
log(s.replace(/\b(或者更确切地说),/g,$1');
//不区分大小写:

log(s.replace(/\b(或者更确切地说),/gi,$1')您可能打算使用正向查找而不是反向查找

(?<=\b(Or rather)\b),
(?要匹配“或更确切地说”后面的任何逗号,只需使用
(或者更确切地说)(,)并使用match[2]访问第二个组

或者另一种选择是使用或更确切地说作为非捕获组
(?:或者更确切地说)(,)所以第一组应该是“或者更确切地说”

后面的逗号,你是想在逗号之前匹配
或者更确切地说
,还是在逗号之前匹配
或者更确切地说
之外的任何东西?@TimBiegeleisen我正在尝试匹配逗号。任何后面有
或者更确切地说
的逗号。
(?:或者更确切地说)(,)
我想匹配后面有逗号,或者更确切地说是逗号
但在模式中,您使用的是负数lookbehind@alexchenco您可以在atom中使用lookbehind,谢谢您的回答。有没有办法在不依赖
$1
的情况下匹配
?我使用的是atom的正则表达式搜索和替换功能,而不是JavaScript代码。@alexc好吧,我想在原子中唯一的方法就是我在答案中所展示的。
(?<=\b(Or rather)\b),