利用正規表示式選取出字串中存在的鏈結

2021-07-10 12:47:23 字數 882 閱讀 2528

nsmutableattributedstring *attributedstring = [[nsmutableattributedstring alloc]  initwithstring:m_pcontent.content];   //將乙個普通字串轉變為乙個屬性字串

nserror *error;

nsstring *regulastr = @"((http[s]|ftp)://[a-za-z0-9\\.\\-]+\\.([a-za-z])(:\\d+)?(/[a-za-z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-za-z0-9\\.\\-]+\\.([a-za-z])(:\\d+)?(/[a-za-z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)";  //正規表示式  用於判斷字串中存在的鏈結

nsregularexpression *regex = [nsregularexpression regularexpressionwithpattern:regulastr

options:nsregularexpressioncaseinsensitive

error:&error];    //建立正規表示式物件

nsarray *arrayofallmatches = [regex matchesinstring:m_pcontent.content options:0 range:nsmakerange(0, [m_pcontent.content length])];   //通過正規表示式選擇出字串中存在的鏈結並放在乙個陣列中

for (nstextcheckingresult *match in arrayofallmatches)

[m_pmessage setattributedtext:attributedstring];

利用正規表示式驗證Email字串

public class registercheck final pattern pattern pattern.compile pattern1 final matcher mat pattern.matcher email if mat.find return tag email檢查 param...

利用正規表示式排除特定字串

1.例子,查詢不以baidu開頭的字串。正則 baidu 匹配結果就是第2行,也就是第1行被排除了 這裡使用了零寬度斷言 exp 注意,我們有乙個向前查詢的語法 也叫順序環視 exp exp 會查詢exp之前的 位置 如果將等號換成感嘆號,就變成了否定語義,也就是說查詢的位置的後面不能是exp 一般...

利用正規表示式排除特定字串

查詢不以baidu開頭的字串 正則 baidu 匹配結果就是第2行,也就是第1行被排除了 這裡使用了零寬度斷言 exp 注意,我們有乙個向前查詢的語法 也叫順序環視 exp exp 會查詢exp之前的 位置 如果將等號換成感嘆號,就變成了否定語義,也就是說查詢的位置的後面不能是exp 一般情況下?要...