Regex 用于尾部斜杠的正则表达式,包括hompage“/&引用;
我使用这个正则表达式作为过滤器来捕获所有带有尾随斜杠的页面(与其相同的非尾随斜杠版本相反)Regex 用于尾部斜杠的正则表达式,包括hompage“/&引用;,regex,Regex,我使用这个正则表达式作为过滤器来捕获所有带有尾随斜杠的页面(与其相同的非尾随斜杠版本相反) 我发现它过滤了我想要的东西,除了谷歌分析中的主页“/”。我如何在报告中包括我的所有网页/mypage/,/features/,/blog/这是我的博客标题,并在表达式中排除它们的/mypage,/features,/blog/这是我的博客标题,您可以使用这个正则表达式: \/(?:[\w-]+\/)* ,其中还包括正则表达式如何执行匹配的说明。您可以使用以下正则表达式: \/(?:[\w-]+\/)*
我发现它过滤了我想要的东西,除了谷歌分析中的主页
“/”
。我如何在报告中包括我的所有网页/mypage/
,/features/
,/blog/这是我的博客标题
,并在表达式中排除它们的/mypage
,/features
,/blog/这是我的博客标题
,您可以使用这个正则表达式:
\/(?:[\w-]+\/)*
,其中还包括正则表达式如何执行匹配的说明。您可以使用以下正则表达式:
\/(?:[\w-]+\/)*
,其中还包括正则表达式将如何执行匹配的说明。您的主页路径只有一个字符长,因此只需在正则表达式中将*
替换为+
即可将其排除:
^(/[a-z0–9/_\-]+[/])$
但为了匹配以/结尾的路径,我只写
^.+/$
您的主页路径只有一个字符长,因此只需在正则表达式中将*
替换为+
即可将其排除在外:
^(/[a-z0–9/_\-]+[/])$
但为了匹配以/结尾的路径,我只写
^.+/$
要获得与当前正则表达式相同的确切含义,但允许使用单个/
,只需将其添加为“or”选项即可。正则表达式中的“或”字符是|
。因此,类似这样的方法会起作用:
^(/[a-z0-9/\-]*[/]|/)$
您可以做的一个小改进是从character类中去掉第三个/
,因为它只是一个字符。你也可以按照字面意思来匹配它。您也不需要转义-
,因为它位于字符类的末尾:
^(/[a-z0-9/-]*/|/)$
现在,它仍然具有与原始正则表达式相同的确切含义,并且它还捕获了单个/
。不过,在这个正则表达式中还有很多其他条件。如果您只想检查任何以/
结尾的字符串,可以将其缩短为:
^*/$
这将匹配以/
结尾的任何字符串,只包括一个/
。它也恰好比你原来的正则表达式短得多,快得多。以下是此更新正则表达式的细分:
^
此匹配必须从字符串开头开始
*
匹配0个或更多字符
/
匹配文字/
。这确保字符串以/
结尾
$
此匹配必须在字符串末尾结束。这确保了/
实际上位于字符串的末尾,而不是中间
要获得与当前正则表达式相同的确切含义,但允许使用单个/
,只需将其添加为“或”选项即可。正则表达式中的“或”字符是|
。因此,类似这样的方法会起作用:
^(/[a-z0-9/\-]*[/]|/)$
您可以做的一个小改进是从character类中去掉第三个/
,因为它只是一个字符。你也可以按照字面意思来匹配它。您也不需要转义-
,因为它位于字符类的末尾:
^(/[a-z0-9/-]*/|/)$
现在,它仍然具有与原始正则表达式相同的确切含义,并且它还捕获了单个/
。不过,在这个正则表达式中还有很多其他条件。如果您只想检查任何以/
结尾的字符串,可以将其缩短为:
^*/$
这将匹配以/
结尾的任何字符串,只包括一个/
。它也恰好比你原来的正则表达式短得多,快得多。以下是此更新正则表达式的细分:
^
此匹配必须从字符串开头开始
*
匹配0个或更多字符
/
匹配文字/
。这确保字符串以/
结尾
$
此匹配必须在字符串末尾结束。这确保了/
实际上位于字符串的末尾,而不是中间
\d
是\w
的一部分;您可以删除\d
此外,斜杠不需要转义-它们没有特殊的正则表达式含义(尽管有些语言使用斜杠作为正则表达式分隔符,但斜杠并不特殊)。破折号-
。破折号仅在字符类中介于两个字符之间时用作范围,但在本例中,破折号位于字符类的末尾,因此无需转义。此外,根据工具的不同,^
和$
可能可以删除-试试看是否可以进一步简化。@Bohemian和@Charlie Armstrong感谢您的建议!我已经更新了我的答案。关于斜杠,我让它们成为通用的正则表达式,因为在一些不同处理/
的语言中,不转义它们会导致模式错误,例如PHP和JavaScript。\d
是\w
的一部分;您可以删除\d
此外,斜杠不需要转义-它们没有特殊的正则表达式含义(尽管有些语言使用斜杠作为正则表达式分隔符,但斜杠并不特殊)。破折号-
。破折号仅在字符类中介于两个字符之间时用作范围,但在本例中,破折号位于字符类的末尾,因此无需转义。此外,根据工具的不同,^
和$
可能可以删除-试试看是否可以进一步简化。@Bohemian和@Charlie Armstrong感谢您的建议!我已经更新了m