我正在尝试在字符串@
和:
的两个字符之间提取字符串:
test23@server:/var/
所以,当我尝试做类似的事情时,
@([^.]*):
甚至
\@(\S+):
我得到@server:
我只想删除@
和:
,这样我就可以得到server
这个词。请帮忙!
答案 0 :(得分:1)
您只需要使用您刚刚构建的capturing group推荐人,或者您可以使用\K
令牌。您无需转义@
字符,[^.]*
表示贪婪地匹配除了字面.
之外的所有内容,最好将其更改为[^:]+
:
@\K[^:]+
或更严格:
@\K[^:]++(?=:)
答案 1 :(得分:0)
试试(?<=@).*(?=:)
。我使用积极的外观和积极的前瞻。
它将匹配以({排除)@
字符开头并以(不包括):
结尾的任何内容
有关详细信息,请参阅https://www.regular-expressions.info/lookaround.html
上的演示