我有一个像 .hello-world-chat-size {height: 350px !important;}
这样的字符串,我想提取 height
属性的值,即 350
。我尝试了这个正则表达式 /^height\:(.*)$/gm
但无法得到任何结果。
最佳答案
出现此问题的原因是 ^
匹配字符串的开头,而 $
匹配字符串的结尾。实际上,(.*)$
匹配该行的整个其余部分,但由于模式的开头不匹配,所以根本不匹配。您只需使用
/height:\s*(\d+)px/
或
/height:\s*(\d+)/
请参阅regex demo
详细信息:
height:
- 文字子字符串height:
\s*
- 零个或多个空白符号(\d+)
- 1 位或更多数字px
- 一个文字字符串px
(实际上,它是多余的,但以防万一您可能有其他没有px
的值,您可能会尽可能保持明确)
JS 演示:
var re = /height:\s*(\d+)px/;
var str = '.hello-world-chat-size {height: 350px !important;}';
var m = str.match(re);
if (m) {
console.log(m[1]);
}
关于javascript - 正则表达式:从 JavaScript 中的字符串获取高度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38398042/