正则表达式:获取两个字符之间的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式:获取两个字符之间的字符串相关的知识,希望对你有一定的参考价值。

我试图在字符串的两个字符@:之间提取一个字符串:

test23@server:/var/

所以,当我尝试做类似的事情,@([^.]*):甚至\@(\S+):我得到@server:

我只想要删除@:所以我只能得到server这个词。请帮忙!

答案

你只需要使用你刚刚构建的capturing group的引用者,或者你可以使用\K令牌。你不需要逃脱@角色和[^.]*意味着贪婪地匹配除了文字点.之外的所有东西,最好更改为[^:]+

@\K[^:]+

或更严格地说:

@\K[^:]++(?=:)
另一答案

试试(?<=@).*(?=:)。我正在使用积极的外观和积极的前瞻。

它将匹配以(但不包括)@字符开头并以(不包括):结尾的任何内容

有关详细信息,请参阅https://www.regular-expressions.info/lookaround.html

看看https://regex101.com/r/jIIB9Q/1的演示

以上是关于正则表达式:获取两个字符之间的字符串的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式:获取 AWS Redshift 中两个字符串之间的值

正则表达式:获取两个字符之间的字符串

正则表达式在 Python 中查找两个字符串之间的字符串

C#初学者:删除字符串中两个字符之间的所有字符(正则表达式?)

php用正则表达式怎么获得两个字符串之间字符

Python正则表达式获取引号之间的字符串