簡體   English   中英

正則表達式匹配特定字符集之間的整數

[英]Regex to match integers between specific set of characters

我需要在這些特定字符之前和之后替換所有整數:( ( ) * - / % + space但僅此而已。

所以(34 +應該匹配但a34 +k3-不應該。

到目前為止,我有這個, '/(?:-| |\\(|\\)|\\+|\\*|\\/|%)(\\d+)(?:-| |\\(|\\)|\\+|\\*|\\/|%)/'但這不像我想要的那樣工作。

$pattern = '/[- ()+*\/%](\d+)[- ()+*\/%]/';
$replacement = "xyz($1)";
$insideFunc = preg_replace($pattern, $replacement, $insideFunc);

$insideFunc = "float y = 45*(3-max(3-float(ceil(3)), 3-float(floor(3))))*2.302585092994046"

output -> float y =xyz(45)xyz(3)maxxyz(3)float(ceilxyz(3)),xyz(3)float(floorxyz(3))))*2.302585092994046

我希望它是, float y = xyz(45)*(xyz(3)-max(xyz(3)-float(ceil(xyz(3))), xyz(3)-float(floor(xyz(3)))))*2.302585092994046

我像那樣改變了它,現在它正在工作。

$pattern = '/([- ()+*\/%])(\d+)([- ()+*\/%])/';
$replacement = "$1float($2)$3";

暫無
暫無

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

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