0
我正在嘗試構建一個派生計算器,因此我將公式分解成組件並匹配每個組件以確定應用的規則,但對於正則表達式我完全陌生。正則表達式匹配數學方程式
現在,我試圖匹配x^n和Ax^nx,其中A和n是常數。這是我的等式:x{0,}^[0-9]{0,}
但是當我運行下面的代碼並輸入諸如asdf
,5
和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");
}
幾乎完美。出於某種原因,這不是理解\ d所以x^3會起作用,但3x^3不會。我用[0-9] *替換了\ d *並且它可以工作。丹克斯 – Chris