Regex 在两个正斜杠之间匹配特定字符串
我需要找到两个正斜杠之间的所有%20Regex 在两个正斜杠之间匹配特定字符串,regex,Regex,我需要找到两个正斜杠之间的所有%20 example.com/book%20/picture1.jpg example.com/book%20/picture2.jpg example.com/book%20/picture3.jpg example.com/pages/picture%20book1.jpg example.com/pages/picture%20book2.jpg example.com/pages/picture%20book3.jpg 它应该找到前3个链接,而不是最后3
example.com/book%20/picture1.jpg
example.com/book%20/picture2.jpg
example.com/book%20/picture3.jpg
example.com/pages/picture%20book1.jpg
example.com/pages/picture%20book2.jpg
example.com/pages/picture%20book3.jpg
它应该找到前3个链接,而不是最后3个
我似乎无法理解。这满足了两个正斜杠之间的“%20”要求
/\/[^/]*%20[^/]*\//
\/ literal "/"
[^/]* every character except for a slash, zero or more occurences
%20 literal "%20"
[^/]* every character except for a slash, zero or more occurences
\/ literal "/"
这样的RE可以用于验证,如果用于匹配两个斜杠之间的文本,则可以使用
%20
,包括前导斜杠和尾随斜杠。这满足了两个正斜杠之间的“%20”要求
/\/[^/]*%20[^/]*\//
\/ literal "/"
[^/]* every character except for a slash, zero or more occurences
%20 literal "%20"
[^/]* every character except for a slash, zero or more occurences
\/ literal "/"
这样的RE可以用于验证,如果用于匹配两个斜杠之间的文本,并使用
%20
,包括前导和尾随斜杠。如果您使用的正则表达式实现支持任意长的环视结构(如.NET),则可以使用
(?<=.*/)%20(?=.*/)
(?如果您使用的正则表达式实现支持任意长的环视结构(如.NET),则可以使用
(?<=.*/)%20(?=.*/)
(?我在.Net中尝试了这一个,它返回了前三个链接。我不是一个喜欢正则表达式的人,所以这很可能比我的示例更优雅
(\w*\.*)*/(\w*)*%20(\w*)*/(\w*\.*)*
我在.Net中尝试了这一个,它返回了前三个链接。我不是一个喜欢正则表达式的人,所以这很可能比我的示例更优雅
(\w*\.*)*/(\w*)*%20(\w*)*/(\w*\.*)*
@Lekensteyn是对的,但跳过了对字符类[^/]*
中正向斜杠的转义
而不是:
/\/[^/]*%20[^/]*\//
使用:
@Lekensteyn是对的,但跳过了对字符类[^/]*
中正向斜杠的转义
而不是:
/\/[^/]*%20[^/]*\//
使用:
请显示您当前的代码。可能是因为最后三个代码不在两个正斜杠之间?请显示您当前的代码。可能是因为最后三个代码不在两个正斜杠之间?我试图在UltraEdit中使用它,但它似乎无法根据以下条件进行翻译:/[~/]+^%20[~/]++/
非常接近!它会一直延续到下一行,直到它碰到另一个正斜杠…请注意,我在末尾添加了一个不同的标记,它就开始工作了!非常感谢各位!我正试图在UltraEdit中使用它,但它似乎无法根据以下条件进行翻译:/[~/]+^%20[~/]++/
非常接近!但它会一直延续到下一行,直到它碰到另一个正斜杠…请注意,我在末尾添加了一个不同的标记,它会起作用!非常感谢各位!这是问题的答案。这是问题的答案。