这是我想要否定的模式:
[\+\-][0-9\.]+
这些是示例行:
Stephane Robert (+1.5 Sets)
Stephane Robert (-1.5 Sets)
Philipp Kohlschreiber
Philipp Kohlschreiber (-1.5 Sets)
Philipp Kohlschreiber (+1.5 Sets)
Player Names (n)
Another Player-Player
我想剥除除了数字之外的所有数字,匹配模式,即我只想要正数或负数浮点数。
+1.5
-1.5
-1.5
+1.5
我使用的是php和preg_replace。
谢谢!
答案 0 :(得分:1)
如果您想查找与您的模式匹配的字符串,只需使用preg_match()
代替preg_replace()
。
答案 1 :(得分:0)
你可以用它。这也将删除其他没有所需值的行。
(?=.*[+-]\d+\.\d+).*([+-]\d+\.\d+).*|(.*)
PHP代码示例
$re = '/(?=.*[+-]\d+\.\d+).*([+-]\d+\.\d+).*|(.*)/m';
$str = 'Stephane Robert (+1.5 Sets)
Stephane Robert (-1.5 Sets)
Philipp Kohlschreiber
Philipp Kohlschreiber (-1.5 Sets)
Philipp Kohlschreiber (+1.5 Sets)
Player Names (n)
Another Player-Player';
$subst = '\\1';
$result = preg_replace($re, $subst, $str);
echo $result;