簡體   English   中英

如何使用正則表達式獲取轉換值?

[英]How to get transform values using regular expressions?

如何使用正則表達式獲取轉換值。 我試過了,但它不適用於所有場景:

var transform = "translate(97.4 12)";

var split = /translate\(\s*([^\s,)]+)[ ,]([^\s,)]+)/.exec(transform);
/*
it given following output,

split[1] = 97.4;
split[2] = 12;
*/

但是這個正則表達式不適用於以下情況:

"translate(97.4, 12)"; 
"translate(97.4)";
"translate(97.4,12)";

如何使用通用方式獲得這些場景?

嘗試這個:

translate\((-?\d+\.?\d*),?\s*(-?\d+[.]?\d*)?\)

來自regex101.com正則表達式的解釋如下

正則表達式解釋

嘗試這個:

 var transform = 'translate(97.4, 12)'; var reg = new RegExp(/translate\\(\\s*([0-9\\.\\,\\s)]+)\\)/g); var value = htmlData.replace(reg, function (a, b, c) { return b; }); value.split(','); //return value is: [97.4, 12]

另外,為了測試它的好處,請嘗試https://www.regexpal.com/

非常好的和有用的正則表達式測試站點

暫無
暫無

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

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