簡體   English   中英

PHP正則表達式用於數學方程式

[英]Php regex for maths equation

我有一個包含數學公式的字符串,如下所示

$eq = '(x^2) * (x^3) = x^5';

我需要替換^並將值更改為php相關函數

$eq = 'pow(x, 2) * pow(x, 3) = pow(x, 5)';

我試過了:

$eq = preg_replace('/(\d+)\w\^\w(\d+)/', "pow($1, $2)", '(x^2) * (x^3) = x^5');

但不起作用。

您的正則表達式(\\ d +)\\ w \\ ^ \\ w(\\ d +)不能捕獲(x ​​^ 2),因為它需要在x之前有一個數字,並且在^和\\ d +之間有一個數字。

如果要使某些參數可選,則可以在其后加上“?”。

如果您所有的元素都是(x ^ n)或x ^ n類型,則此正則表達式有效:

$eq = preg_replace('/\(?(\w+)\^(\d+)\)?/', "pow($1, $2)", $eq);

$eq          = '(x^2) * (x^3) = x^5';
$replacement = 'pow($1,$2)';

print preg_replace('/\(?(x)\^(\d)\)?+/', $replacement, $eq);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM