正则表达式点到行尾

Posted

技术标签:

【中文标题】正则表达式点到行尾【英文标题】:Regex Dot to End of Line 【发布时间】:2021-10-25 23:32:46 【问题描述】:

我有一个包含太多行的 txt 文档。我想做的有点复杂。例如,我想到达包含单词 thing 的每一行的末尾并在其中放置一个句点。但仅在包含单词 thing 的行尾。

例如:regexr.com/64ehm

【问题讨论】:

使用这个:^(thing)$ 查看演示:regex101.com/r/zrzI61/1 【参考方案1】:

事实上,您可以使用的正则表达式非常简单。这与 globalmultiline 标志一起,将匹配仅包含单词 thing 的行:

^Thing$

如果您不想区分大小写字母,不区分大小写标志可以帮助您。

得到您要查找的行后,您可以使用您的编程语言或工具中可用的方法在每行的末尾放置一个句点。

你也可以test that regular expression in RegExr。

【讨论】:

也许我没有解释清楚,抱歉。我想我会在这个例子中更好地解释它。如何在示例中仅包含单词列表中的内容的元素末尾添加句点。 regexr.com/64ehm 我把它添加到我的问题中 我已经编辑了我的答案和我的 RegExr 模式。根据您的示例,我认为这就是您要寻找的。​​span> 【参考方案2】:

例如:

let text = `
Lorem ipsum dolor sit amet, consectetur
adipisicing elit, thing sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua
`;

text = text.replace(/\b[Tt]hing\b.*/g, '$&.');

console.log(text);

\b 表示断言字边界。

$& 是一个特殊的模式,表示正则表达式匹配的任何内容。见MDN。

【讨论】:

以上是关于正则表达式点到行尾的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式匹配 URL 行尾或“/”字符

Python 正则表达式。删除 ':' 之后的所有字符(包括行尾和特定字符串除外)

使用正则表达式(.net 和 C#)识别行尾

正则表达式:不匹配以换行符 (\n) 结尾的字符串和行尾锚 ($)

正则表达式

Notepad++的正则表达式替换和替换