📄 ogregularexpression.h
字号:
// ([[self matchEnumeratorInString:string] allObject]と同じ)// マッチしなかった場合は nil を返す。- (NSArray*)allMatchesInString:(NSString*)string;- (NSArray*)allMatchesInString:(NSString*)string options:(unsigned)options;- (NSArray*)allMatchesInString:(NSString*)string range:(NSRange)searchRange;- (NSArray*)allMatchesInString:(NSString*)string options:(unsigned)options range:(NSRange)searchRange;- (NSArray*)allMatchesInAttributedString:(NSAttributedString*)attributedString;- (NSArray*)allMatchesInAttributedString:(NSAttributedString*)attributedString options:(unsigned)options;- (NSArray*)allMatchesInAttributedString:(NSAttributedString*)attributedString range:(NSRange)searchRange;- (NSArray*)allMatchesInAttributedString:(NSAttributedString*)attributedString options:(unsigned)options range:(NSRange)searchRange;- (NSArray*)allMatchesInOGString:(NSObject<OGStringProtocol>*)string options:(unsigned)options range:(NSRange)searchRange;/*********** * Replace * ***********/// 文字列targetString中の正規表現にマッチした箇所を文字列replaceStringに置換したものを返す。// replaceString中で使用できるエスケープシーケンスはOGReplaceExpression.hを参照。// 最初にマッチした部分のみを置換- (NSString*)replaceFirstMatchInString:(NSString*)targetString withString:(NSString*)replaceString;- (NSString*)replaceFirstMatchInString:(NSString*)targetString withString:(NSString*)replaceString options:(unsigned)searchOptions;- (NSString*)replaceFirstMatchInString:(NSString*)targetString withString:(NSString*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange;- (NSAttributedString*)replaceFirstMatchInAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString;- (NSAttributedString*)replaceFirstMatchInAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString options:(unsigned)searchOptions;- (NSAttributedString*)replaceFirstMatchInAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange;// 全てのマッチした部分を置換- (NSString*)replaceAllMatchesInString:(NSString*)targetString withString:(NSString*)replaceString;- (NSString*)replaceAllMatchesInString:(NSString*)targetString withString:(NSString*)replaceString options:(unsigned)searchOptions;- (NSString*)replaceAllMatchesInString:(NSString*)targetString withString:(NSString*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange;- (NSAttributedString*)replaceAllMatchesInAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString;- (NSAttributedString*)replaceAllMatchesInAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString options:(unsigned)searchOptions;- (NSAttributedString*)replaceAllMatchesInAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange;// マッチした部分を置換/* isReplaceAll == YES ならば全てのマッチした部分を置換 NO ならば最初にマッチした部分のみを置換 count: 置換した数 */- (NSString*)replaceString:(NSString*)targetString withString:(NSString*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)isReplaceAll;- (NSString*)replaceString:(NSString*)targetString withString:(NSString*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)replaceAll numberOfReplacement:(unsigned*)numberOfReplacement;- (NSAttributedString*)replaceAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)isReplaceAll;- (NSAttributedString*)replaceAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)replaceAll numberOfReplacement:(unsigned*)numberOfReplacement;- (NSObject<OGStringProtocol>*)replaceOGString:(NSObject<OGStringProtocol>*)targetString withOGString:(NSObject<OGStringProtocol>*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)replaceAll numberOfReplacement:(unsigned*)numberOfReplacement;// デリゲートに処理を委ねた置換/* aSelectorは次の形式でなければならない 引数: 1番目: マッチしたOGRegularExpressionMatchオブジェクト 2番目: contextInfo:で渡したcontextInfo 戻り値: 置換した文字列 (ただし、nilを返した場合はそこで置換を中止する。) 例: 摂氏を華氏に変換する。 - (NSString*)fahrenheitForCelsius:(OGRegularExpressionMatch*)aMatch contextInfo:(id)contextInfo { double celcius = [[aMatch substringAtIndex:1] doubleValue]; double fahrenheit = celcius * 9.0 / 5.0 + 32.0; return [NSString stringWithFormat:@"%.1fF", fahrenheit]; } */// 最初にマッチした部分のみを置換- (NSString*)replaceFirstMatchInString:(NSString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo;- (NSString*)replaceFirstMatchInString:(NSString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions;- (NSString*)replaceFirstMatchInString:(NSString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange;- (NSAttributedString*)replaceFirstMatchInAttributedString:(NSAttributedString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo;- (NSAttributedString*)replaceFirstMatchInAttributedString:(NSAttributedString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions;- (NSAttributedString*)replaceFirstMatchInAttributedString:(NSAttributedString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange;- (NSObject<OGStringProtocol>*)replaceFirstMatchInOGString:(NSObject<OGStringProtocol>*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange;// 全てのマッチした部分を置換- (NSString*)replaceAllMatchesInString:(NSString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo;- (NSString*)replaceAllMatchesInString:(NSString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions;- (NSString*)replaceAllMatchesInString:(NSString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange;- (NSAttributedString*)replaceAllMatchesInAttributedString:(NSAttributedString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo;- (NSAttributedString*)replaceAllMatchesInAttributedString:(NSAttributedString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions;- (NSAttributedString*)replaceAllMatchesInAttributedString:(NSAttributedString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange;- (NSObject<OGStringProtocol>*)replaceAllMatchesInOGString:(NSObject<OGStringProtocol>*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange;// マッチした部分を置換/* isReplaceAll == YES ならば全てのマッチした部分を置換 NO ならば最初にマッチした部分のみを置換 count: 置換した数 */- (NSString*)replaceString:(NSString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)isReplaceAll;- (NSString*)replaceString:(NSString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)isReplaceAll numberOfReplacement:(unsigned*)numberOfReplacement;- (NSAttributedString*)replaceAttributedString:(NSAttributedString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)isReplaceAll; - (NSAttributedString*)replaceAttributedString:(NSAttributedString*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)isReplaceAll numberOfReplacement:(unsigned*)numberOfReplacement;- (NSObject<OGStringProtocol>*)replaceOGString:(NSObject<OGStringProtocol>*)targetString delegate:(id)aDelegate replaceSelector:(SEL)aSelector contextInfo:(id)contextInfo options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)isReplaceAll numberOfReplacement:(unsigned*)numberOfReplacement;/********* * Split * *********/// マッチした部分で文字列を分割し、NSArrayに収めて返す。- (NSArray*)splitString:(NSString*)aString;- (NSArray*)splitString:(NSString*)aString options:(unsigned)searchOptions; - (NSArray*)splitString:(NSString*)aString options:(unsigned)searchOptions range:(NSRange)searchRange; /* 分割数limitの意味 (例は@","にマッチさせた場合のもの) limit > 0: 最大でlimit個の単語に分割する。limit==3のとき、@"a,b,c,d,e" -> (@"a", @"b", @"c") limit == 0(デフォルト): 最後が空文字列のときは無視する。@"a,b,c," -> (@"a", @"b", @"c") limit < 0: 最後が空文字列でも含める。@"a,b,c," -> (@"a", @"b", @"c", @"") */- (NSArray*)splitString:(NSString*)aString options:(unsigned)searchOptions range:(NSRange)searchRange limit:(int)limit;/************* * Utilities * *************/// OgreSyntaxとintの相互変換+ (int)intValueForSyntax:(OgreSyntax)syntax;+ (OgreSyntax)syntaxForIntValue:(int)intValue;// OgreSyntaxを表す文字列+ (NSString*)stringForSyntax:(OgreSyntax)syntax;// Optionsを表す文字列配列+ (NSArray*)stringsForOptions:(unsigned)options;// 文字列を正規表現で安全な文字列に変換する。(@"|().?*+{}^$[]-&#:=!<>@\\"を退避する)+ (NSString*)regularizeString:(NSString*)string;// 改行コードが何か調べる+ (OgreNewlineCharacter)newlineCharacterInString:(NSString*)aString;// 改行コードをnewlineCharacterに統一する。+ (NSString*)replaceNewlineCharactersInString:(NSString*)aString withCharacter:(OgreNewlineCharacter)newlineCharacter;// 改行コードを取り除く+ (NSString*)chomp:(NSString*)aString;@end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -