0

私は導関数計算機を構築しようとしているので、方程式をコンポーネントに分割し、各部分を一致させて適用するルールを決定していますが、正規表現はまったく初めてです。

現在、A と n が定数である x^n と Ax^nx を一致させようとしています。これは私の方程式です:x{0,}^[0-9]{0,}しかし、以下のコードを実行してasdf5、 、 のようなものを入力すると、返されるべきx^3ときにのみ一致として返されます。x^3方程式または以下の適用方法に問題はありますか?

NSRegularExpression* regex = [[NSRegularExpression alloc] initWithPattern: @"x{0,}^[0-9]{0,}" options: NSRegularExpressionCaseInsensitive error: nil];

if ([regex numberOfMatchesInString: equation options: NSMatchingHitEnd range: [equation rangeOfString: equation]] > 0)
{
    NSLog(@"Match x^n");
}
else
{
    NSLog(@"Not x^n");
}
4

1 に答える 1

0

^文字列の開始を表すので、次のようにエスケープする必要があります\^

あなたのregexはず

@"\d*x\\^\d*"

\d数字を表します..

*0 から多数に一致することを意味します\d

于 2013-01-11T19:48:17.843 に答える