我尝试获取文本形式的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?:\\/.*", options: nil, error: nil)!
但是什么也没发生。
您可以使用i
正则表达式中的内联标志关闭区分大小写的功能,有关可用的正则表达式功能的更多信息,请参见Foundation Framework Reference。
(?ismwx-ismwx)
标志设置。更改标志设置。更改将应用于设置之后的图案部分。例如,(?i)更改为不区分大小写的匹配。标志在标志选项中定义。
对于读者:
匹配的URL内较大的文本已经是一个解决 问题,但这种情况下,一个简单的正则表达式像
(?i)https?://(?:www\\.)?\\S+(?:/|\\b)
将按照OP的要求进行操作,仅匹配以http
或https
或开头的URLHTTPs
等
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句