我正忙着创建两个正则表达式来过滤来自youtube和vimeo视频的id.我已经有了以下表达式;
YouTube: (youtube\.com/)(.*)v=([a-zA-Z0-9-_]+)
Vimeo: vimeo\.com/([0-9]+)$
Run Code Online (Sandbox Code Playgroud)
正如我在下面解释的那样,有两种类型的网址与我已创建的正则表达式相匹配.来自Vimeo和YouTube的其他几种网址并未被表达所覆盖.我最喜欢的是所有这些都可以用两个表达式来涵盖.一个适用于所有Vimeo视频,一个适用于所有YouTube视频.我一直在忙着尝试一些不同的表达方式,但到目前为止还没有成功.我还在尝试掌握正则表达式,所以我希望我能以正确的方式来帮助我!如果需要更多信息,请告诉我!
VIMEO网址不匹配:
http://vimeo.com/channels/hd#11384488
http://vimeo.com/groups/brooklynbands/videos/7906210
http://vimeo.com/staffpicks#13561592
Run Code Online (Sandbox Code Playgroud)
YOUTUBE网址不匹配
http://www.youtube.com/user/username#p/a/u/1/bpJQZm_hkTE
http://www.youtube.com/v/bpJQZm_hkTE
http://youtu.be/bpJQZm_hkTE
Run Code Online (Sandbox Code Playgroud)
匹配的网址
http://www.youtube.com/watch?v=bWTyFIYPtYU&feature=popular
http://vimeo.com/834881
Run Code Online (Sandbox Code Playgroud)
我们的想法是将上面提到的所有网址与两个正则表达式相匹配.一个用于vimeo,一个用于youtube.
在回答后更新Sedith:
这就是我的表达式现在的样子
public static readonly Regex VimeoVideoRegex = new Regex(@"vimeo\.com/(?:.*#|.*/videos/)?([0-9]+)", RegexOptions.IgnoreCase | RegexOptions.Multiline);
public static readonly Regex YoutubeVideoRegex = new Regex(@"youtu(?:\.be|be\.com)/(?:(.*)v(/|=)|(.*/)?)([a-zA-Z0-9-_]+)", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)
在我的代码中
var youtubeMatch = url.match(YoutubeVideoRegex );
var vimeoMatch = url.match(VimeoVideoRegex );
var youtubeIndex = (youtubeMatch.length - 1)
var youtubeId = youtubeMatch[youtubeIndex];
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我现在需要找到videoId在数组中的索引,其中正则表达式返回匹配项.但我希望它只返回id本身,所以我不需要修改代码,当你的vimeo决定改变那里的网址时.关于这个的任何提示?
可能重复:
定义实现+运算符的泛型
我最近在研究一个实现算法的C#类库.关键是我希望库的用户能够选择算法应该使用的机器精度(单或双),并且我正在尝试使用泛型.所以,例如:
Algorithm<double> a = new Algorithm<double>();
/** Some initializations here */
double result = a.Solve();
Run Code Online (Sandbox Code Playgroud)
要么
Algorithm<float> a = new Algorithm<float>();
/** Some initializations here */
float result = a.Solve();
Run Code Online (Sandbox Code Playgroud)
因此,泛型类的类型参数意味着是十进制数(因为在算法代码中我需要使用+,*,/, - ),但我不知道对它施加哪种类型约束.我已经考虑过与所有运营商建立接口,但不幸的是,这是不允许的.有任何想法吗?
否则,是否有可能在C#中获得类似于C++中的模板特化的东西?
谢谢
托马索
我对函数式编程中使用的monad和箭头的概念非常熟悉.我也明白它们可以用来解决类似的问题.
但是,对于如何选择在任何给定情况下使用哪一个,我仍然有点困惑.
我什么时候应该使用monads?什么时候应该使用箭头?
language-agnostic monads haskell functional-programming arrows
在低级语言(C,C++或其他)中:我可以选择在拥有一堆互斥(如pthread给我或者本机系统库提供的内容)或者对象的单个互斥之间.
锁定互斥锁的效率如何?即可能有多少汇编指令,以及它们花了多少时间(在互斥锁解锁的情况下)?
互斥量需要多少钱?真的有很多互斥体是一个问题吗?或者我可以在代码中抛出尽可能多的互斥变量,因为我有int变量并且它并不重要?
(我不确定不同硬件之间有多大差异.如果有,我也想了解它们.但大多数情况下,我对常见的硬件感兴趣.)
关键是,通过使用许多互斥体,每个互斥体只覆盖对象的一部分而不是整个对象的单个互斥体,我可以安全地使用许多块.我想知道我应该走多远.即我应该尽可能地尝试保护任何可能的块,无论多么复杂和多少互斥量这意味着什么?
关于锁定的WebKits博客文章(2016)与此问题非常相关,并解释了自旋锁,自适应锁,futex等之间的差异.
applicationContext.xml和spring-servlet.xml在Spring框架无论如何有关系吗?applicationContext.xml是否可用DispatcherServlet?*-servlet.xml?为什么applicationContext.xml单独不足?这应该是一个相当简单的问题,但我对SQL知之甚少.我有一个数据库,其中包含以下字段:
client_idscheduled_amountdeposit_amountmessage_code_idnote_textsystem_date现在,我希望从运行SQL语句时选择少于1年的所有记录.我知道我应该使用DateDiff,任何人都有任何想法?
谢谢
如果operator=正确定义,可以使用以下作为复制构造函数吗?
MyClass::MyClass(MyClass const &_copy)
{
*this = _copy;
}
Run Code Online (Sandbox Code Playgroud) 我试图在我的iphone上运行Facebook DemoApp,我得到以下错误(它在模拟器上没有错误)
请帮我
***************************** Build DemoApp of project DemoApp with configuration Debug Ld build/DemoApp.build/Debug-iphoneos/DemoApp.build/Objects-normal/armv6/DemoApp normal armv6 cd /Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp setenv IPHONEOS_DEPLOYMENT_TARGET 4.0 setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -L/Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp/build/Debug-iphoneos -F/Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp/build/Debug-iphoneos -filelist /Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp/build/DemoApp.build/Debug-iphoneos/DemoApp.build/Objects-normal/armv6/DemoApp.LinkFileList -dead_strip -fopenmp -miphoneos-version-min=4.0 -framework Foundation -framework UIKit -framework CoreGraphics -o /Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp/build/DemoApp.build/Debug-iphoneos/DemoApp.build/Objects-normal/armv6/DemoApp arm-apple-darwin10-gcc-4.2.1: libgomp.spec: No such file or directory Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1 Ld build/DemoApp.build/Debug-iphoneos/DemoApp.build/Objects-normal/armv7/DemoApp normal armv7 cd /Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp setenv IPHONEOS_DEPLOYMENT_TARGET 4.0 setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -L/Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp/build/Debug-iphoneos -F/Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp/build/Debug-iphoneos -filelist /Users/aumidwilliams/Downloads/facebook-facebook-ios-sdk-57818a0/sample/DemoApp/build/DemoApp.build/Debug-iphoneos/DemoApp.build/Objects-normal/armv7/DemoApp.LinkFileList -dead_strip …
我如何用 python 或 ruby 编写脚本通过 smtp 或 uucp (不是管道)在 postfix 中进行内容过滤?有一些例子吗?
我有一个具有gui的C#应用程序,其输出类型设置为Windows应用程序.我还想从命令行调用它(通过参数),因此它也需要是一个控制台应用程序.有没有办法让我的应用程序作为Windows应用程序和控制台应用程序运行?有没有办法在运行时设置它或是编译时设置?