0

テキスト内のすべての文字列を探していますが、コードが機能しない理由がわかりません。本文中、2回出てきます。

テキスト :

<div class="infosLigneDetail pointer" onclick="javascript:toggleForfait('1');">
                    Alexandre OUICHER - Forfait Free illimité à 19,99 euros - 0627505460                        <input

検索文字列:

Alexandre OUICHER - Forfait Free illimité à 19,99 euros - 0627505460

正規表現:

NSRegularExpression *regexpComptes = [NSRegularExpression regularExpressionWithPattern:@"(?<=javascript:toggleForfait('[0-9]');\">).*?(?=<input)" options:NSRegularExpressionSearch error:NULL];
NSArray *matchesComptes = [regexpComptes matchesInString:content
                                                   options:0
                                                     range:NSMakeRange(0, [content length])];

どこに問題があるか知っていますか?

4

1 に答える 1

2

(でand)をエスケープしませんでしたtoggleForfait('[0-9]')。捕獲集団扱いです。それはあるべきで\(あり、\)それぞれ...toggleForfait\('[0-9]'\)

必要な正規表現(?<=javascript:toggleForfait\('[0-9]'\);\">).*?(?=<input)は dotall オプションが有効になっているNSRegularExpressionDotMatchesLineSeparators

ここを見てください:http://regexr.com?30ool

于 2012-04-25T06:22:14.530 に答える