2012-03-11 40 views
1

使用Smarty模板引擎,但希望预处理HTML以跨所有CSS更改字体大小。lookbehind里面的可选空格regex

我想让空格在冒号后是可选的,所以无论如何它都会匹配数字。

问题是我似乎只能得到可选匹配作为表达式的一部分,而不是后向。

正则表达式:(?<=font-size:)[0-9]+

HTML摘录:

body { 
    font-family: 'Open Sans', sans-serif; 
    font-size: 9pt; 
    height: 100%; 
    min-height: 100%; 
    display:block;  
} 

回答

1

当您可以轻松地使用捕获组时,不要使用向后看。

在你的情况,你可以这样做:当你需要

(\bfont-size:\s*)([0-9]+) 

然后使用捕获组$1$2

+0

工作就像一个魅力 - 伟大的方法。 – jsuissa 2012-03-11 19:36:11

0

为空白\s所以注册前象征这是你需要的东西:(?<=font-size:\s?)[0-9]+