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