Kie*_*ron 3 css c# regex parsing
我正在尝试获取以下字符串的url部分:
url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)
Run Code Online (Sandbox Code Playgroud)
所以必要的部分如果images/ui-bg_highlight-soft_75_cccccc_1x100.png.
目前我有这个:
url\((?<url>.*)\)
Run Code Online (Sandbox Code Playgroud)
但是在下面的例子中似乎令人窒息:
url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30)
Run Code Online (Sandbox Code Playgroud)
结果导致images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30......
我想确保它支持尽可能多的变体(额外的空格等).
谢谢!
基隆
另外,我需要忽略可选引号'或'......
现在,它看起来像这样:
url\(['|"]?(?<url>[^)]+)\)
Run Code Online (Sandbox Code Playgroud)
我似乎无法让它停止/忽略最后的引用...
这是由于*量词的贪婪,尝试一个否定的字符类而不是一个.
url\((?<url>[^)]*)\)
Run Code Online (Sandbox Code Playgroud)
或者您可以使用惰性运算符
url\((?<url>.*?)\)
Run Code Online (Sandbox Code Playgroud)
第一选择可能更好.
编辑:要忽略第二个引用,您将需要使用这样的惰性量词
url\(['"]?(?<url>[^)]+?)['"]?\)
Run Code Online (Sandbox Code Playgroud)
您不在|字符类中使用交替元字符.
| 归档时间: |
|
| 查看次数: |
1782 次 |
| 最近记录: |