[英]regex, find last part of a url
让我们像这样的网址
www.url.com/some_thing/random_numbers_letters_everything_possible/set_of_random_characters_everything_possible.randomextension
如果我想捕获“ set_of_random_characters_everything_possible.randomextension”, [^/\\n]+$
起作用吗? (解决方案来自尝试使用Regex获取URL的最后一部分 )
我的问题是:“ \\ n”部分是什么意思(即使没有它也可以工作)? 并且,如果url中最随意的字符组合(“ /”除外)是否安全?
看一下这个解释: http : //regex101.com/r/jG2jN7
基本上,这里发生的是“匹配除斜线和换行符之外的任何字符,无穷大到1次”。 人们将\\r\\n
插入否定的char类中,因为在某些程序中,否定的字符类将匹配除插入字符类之外的所有内容。 因此,在这种情况下, [^/]
将匹配新行。
例如,如果您的文本中有换行符,则换行符后将无法获取数据。
但是,这不适用于您的情况。 您需要为此行为使用s标志(PCRE_DOTALL)
。
TL; DR:您可以保留它或将其删除,这无关紧要。
询问是否有不清楚的地方,或者我已经解释得有些草率。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.