我是正则表达式的新手,并尝试在scala中使用。
我正在尝试在很长的字符串中识别网址。我看了很多,我发现的最好的是
val regex = """https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?""".r
这留下了一些不足之处,但最后留下了像“”>图像“这样的东西。我正在试图弄清楚我的正则表达式意味着什么,所以我可以解剖它并在它击中时停止它.
/ .com
/ .org
/ .edu
.whatever
之后的非单词字符。
我希望有人不介意解释这个预先形成的正则表达式中的各个元素,以便我可以弄清楚正在发生什么并了解有关正则表达式的更多信息。我已经完成了一两个教程并找到了一些东西,但我认为我认为对我来说非常宝贵。
我明白了:
?
?
\w
似乎是指单词字符\d
似乎意味着数字.
涵盖大多数字符,除非转义我没有得到:
:
如何运作或+
无论如何,我希望有人可以指导我一个问题,而不是通过帮助解释他们出现的各个元素来推动我到另一个教程。我很感激。
regexlib
很有帮助,让我:
val regex = """https?://\w+\.\w+\.\w+[\w/_\.\?=&:]+""".r
我理解的每一点!
答案 0 :(得分:2)
我认为“>包含图片的主要问题是通过替换与查询html字符串匹配的部分来解决
(\?\S+)
某些内容不包含“<>作为\ S
(\?[\w=$&.\-^@#~+%]+)