[英]How to apply regular expressions to get a number from a dynamic string
我有一個可以包含一些變化的變量,它還包含一個可以是任何數字的數字。
變化:
($stuksprijs+9.075);
($stuksprijs-9.075);
($stuksprijs*9.075);
($m2+9.075);
($m2-9.075);
($m2*9.075);
($o+9.075);
($o-9.075);
($o*9.075);
這些是除了其中的數字之外的唯一變化,它們可以改變。 我需要那個號碼。
所以可以有:
($m2+5);
或者
($o+8.25);
或者
($stuksprijs*3);
我怎樣才能從這些變化中得到數字? 如何使用正則表達式從上述示例中獲得 9.075 或 5 或 8.25 或 3?
我正在嘗試使用 PHP 解決此問題,包含該字符串的變量是: $explodeberekening[1]
我閱讀了多個正則表達式教程,並讓它適用於一個永遠不會改變的字符串,但是我如何編寫一個正則表達式來從上述變化中獲取數字?
根據我的評論,這似乎有效,您可以嘗試:
^\(\$(?:stuksprijs|m2|o)[+*-](\d+(?:\.\d+)?)\);$
該號碼在第一個捕獲組中捕獲。 請參閱在線演示。
快速細分:
^
- 開始字符串錨。\(\$
- 字面上匹配“($”。(?:
- 打開一個非捕獲組以列出交替:
stuksprijs|m2|o
- 匹配這些文字替代品之一。)
- 關閉非捕獲組。[+*-]
- 匹配字符類中的符號之一。(
- 打開第一個捕獲組:
\d+
- 1+ 位。(?:\.\d+)?
- 額外的可選非捕獲組以匹配文字點和 1+ 數字。)
- 關閉第一個捕獲組。\);
- 字面上匹配“);”。$
- 結束字符串錨。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.