我想要的是匹配直到第一次出现&met.现在它只匹配最后一次出现&.
我的正则表达是
(?!^)(http[^\\]+)\&
Run Code Online (Sandbox Code Playgroud)
我正试图匹配这个文本:
https://www.google.com/url?rct3Dj&sa3Dt&url3Dhttp://business.itbusinessnet.com/article/WorldStage-Supports-Massive-4K-Video-Mapping-at-Adobe-MAX-with-Christie-Boxer-4K-投影机--- 4820052 ct3Dga&cd3DCAEYACoTOTEwNTAyMzI0OTkyNzU0OTI0MjIaMTBmYTYxYzBmZDFlN2RlZjpjb206ZW46VVM&usg3DAFQjCNE6oIhIxR6qRMBmLkHOJTKLvamLFg&
我需要的是:
http://business.itbusinessnet.com/article/WorldStage-Supports-Massive-4K-Video-Mapping-at-Adobe-MAX-with-Christie-Boxer-4K-Projectors---4820052
使用非贪婪模式,如下所示:
/(?!^)(http[^\\]+?)&/
// ^
Run Code Online (Sandbox Code Playgroud)
在非贪婪模式(或懒惰模式)下,匹配将尽可能短.
如果你想摆脱&它然后只是将它包装在一个前瞻组中,所以它不会像这样匹配:
/(?!^)(http[^\\]+?)(?=&)/
// ^^ ^
Run Code Online (Sandbox Code Playgroud)
或者您可以优化正则表达式,因为@apsillers在评论中建议如下:
/(?!^)(http[^\\&]+)/
Run Code Online (Sandbox Code Playgroud)
注意: &不是特殊字符,所以你不需要逃避它,
| 归档时间: |
|
| 查看次数: |
1912 次 |
| 最近记录: |