gpt4 book ai didi

java - 使用正则表达式抓取字符串中的 IRC channel

转载 作者:太空宇宙 更新时间:2023-11-04 08:33:23 25 4
gpt4 key购买 nike

这是我第一次在这里发帖,但我在这里找到了很多答案,这太棒了。

我目前正在尝试从字符串中获取 IRC channel ,IRC channel 前缀是 (#),这意味着该 channel 将类似于:

  • channel

  • another_channel

  • yet-another_channel

channel 没有空格,因此如果是 (#a channel), channel 就只是 (#a)。

我试图像解析我的 URL 一样解析它,如下所示:

public String[] splitString(String string) {
String pattern = "(?i)(http(s?)://|www\\.)\\S++";
String[] split = string.split(String.format("((?<=%s)\\s++)|(\\s++(?=%s))", pattern, pattern));
return split;
}

给我留下的结果是,以存在单独部分的方式分割字符串。其工作原理的一个示例是:

String test = "let's see how this http://google.com/ thing works, www.shall.we";
Result: ["let's see how this", "http://google.com/", "thing works, ", "www.shall.we"]

我希望这是有道理的。

总而言之,我想我只是在寻找一些正则表达式来从字符串中获取 IRC channel 。

我找到了这个Match IRC Channel with regular expression但它似乎并没有按照我想要的方式工作。

最佳答案

为您的简单定义执行此操作的正则表达式是

(#\S+)

表示 # 后跟至少一个非空格字符。如果需要,您可以通过选择另一个 character class 来缩小允许的字符范围。例如 \w 只允许字母和数字。

关于java - 使用正则表达式抓取字符串中的 IRC channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6970197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com