ios – 使用大写符号在字符串swift中获取URL的正则表达式

我尝试在文本中获取URL.所以,在此之前,我使用了这样一个表达式:
let re = NSRegularExpression(pattern: "https?:\\/.*",options: nil,error: nil)!

但是当用户输入带有大写符号的URL时(例如Http://Google.com,它与它不匹配)我遇到了问题.

我试过了:

let re = NSRegularExpression(pattern: "(h|H)(t|T)(t|T)(p|P)s?:\\/.*",error: nil)!

但什么都没发生.

解决方法

您可以使用正则表达式中的i内联标志关闭区分大小写,有关可用正则表达式功能的详细信息,请参阅 Foundation Framework Reference.

(?ismwx-ismwx)
Flag settings. Change the flag settings. Changes apply to the portion of the pattern following the setting. For example,(?i) changes to a case insensitive match.The flags are defined in Flag Options.

对于读者:

匹配较大文本中的URL已经是solved problem,但对于这种情况,simple regex就像

(?i)https?://(?:www\\.)?\\S+(?:/|\\b)

要做的就是OP要求只匹配以http或https或HTTPs等开头的URL.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...