正则表达式:获取两个字符之间的字符串
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 中两个字符串之间的值