使用Regex在第n次出现另一个字符后检索字符

时间:2017-04-02 04:52:07

标签: regex

我正在编写一个基于来自服务器的消息向客户端广播消息的简单机器人。这将在JavaScript中完成,但我试图了解正则表达式。过去一小时我一直在谷歌搜索,我来得太近了,但我根本无法解决这个问题。

基本上我需要检索 second /和第一个[。听起来很简单,但我无法弄清楚如何做到这一点。

以下是一些示例代码:

192.168.1.1:33291/76561198014386231/testName joined [linux/76561198014386231]

这是正则我提出的:

\/(.*?)\[

我在StackOverflow上发现了很多类似的问题,但大多数问题似乎都特定于特定语言,或者最终过于复杂,我无法减少查询。

我知道这很简单,但我完全被难过了。

1 个答案:

答案 0 :(得分:0)

而不是.*?。然后你可以通过[^\/]*匹配除了正斜杠之外的所有内容。

([^\/]*)\s*\[

Live preview

如果需要在第二次斜线之后。如在第二个斜杠和方括号之间的内容可以包含斜杠。然后你可以这样做:

(?:.*?\/){2}(.*)\s*\[

Live preview

如果您愿意,请删除\s*。我只是假设你不关心这个空白。