Regex 常规exp可以找到一些特殊的模式

Regex 常规exp可以找到一些特殊的模式,regex,Regex,我需要找出url池中的所有url 假设url池包含 /a/a.html /b/z.html /e/s-v.html /z2/s_v.html /b/d/s_v.html /b/e/s_v.html 我需要弄清楚 /a/a.html /b/z.html /e/s-v.html /z2/s_v.html 这样做有规律吗?(我的url池实际上有一百万个不同的url,因此不要使用|来执行此操作)这会过滤掉所有带有两个/字符的url: /^(?:\/[^\/]*){2}$/ 编辑

我需要找出url池中的所有url

假设url池包含

/a/a.html
/b/z.html  
/e/s-v.html  
/z2/s_v.html   
/b/d/s_v.html  
/b/e/s_v.html
我需要弄清楚

/a/a.html
/b/z.html
/e/s-v.html
/z2/s_v.html

这样做有规律吗?(我的url池实际上有一百万个不同的url,因此不要使用
|
来执行此操作)

这会过滤掉所有带有两个
/
字符的url:

/^(?:\/[^\/]*){2}$/
编辑

仅匹配/a/,/b/,/e/&/z2/:

/^\/(?:a|b|e|z2)\/.*\.html$/
匹配的条件是:

  • 第一个字母是斜杠/
  • 第一个块是字母数字
  • 第二个块可以包含-和_
  • 以.html结尾

此模式将与所有模式匹配:

 ^\/[abe]|z2\/[-a-z_]*\.html$

事实上我找到了另一种方法

/+[a-zA-Z0-9]+/([\w]|[.]|[|]|[-])+.html

它匹配

/a/a.html

/a/a-a.html,/a/a-a-a.html

/a/a_a.html,/a/a_a_a.html


/a/a.a.html,/a/a.a.a.html

这是我提出的最好的(使用Linux标准grep): ^/([abe]\\| z2)/[a-zA-Z0-9\-]+.html$
它满足您的要求(第一个子文件夹完全是a、b、e或z2),只要在第二个/和html之间只有字母、数字和u,-

您只想要包含两个“/”字符的条目吗?任何特定的风格,任何语言?我想你可以在这里找到大量匹配正则表达式的URL。我需要找出它只包含2个“/”字符,根据你最后的评论,第一个子文件夹必须是/a/、/b/、/e/、/z2/。我更新了我的答案。44个问题和9个答案,你不能格式化你的帖子??!!如果我需要结合一些特殊的文本,比如/a/@user192344,你不想匹配
/a/
?@user192344对不起,忘了加号(+),你没有说逗号分隔的字符串。下次再详细说明你的问题,不要对所有问题都投否决票!44个问题和9个答案,你不能格式化你的帖子??!!你自己的答案比你从其他海报上得到的更糟糕,它将比你期望的匹配得多。
 ^\/[abe]|z2\/[-a-z_]*\.html$