'decimal_point' => string '/'
但是没有人有好的解决方案吗?
错误:
preg_match() unknown modifier '?'
功能:
* @param string $str input string
* @return boolean
*/
public static function numeric($str)
{
// Get the decimal point for the current locale
list($decimal) = array_values(localeconv());
// A lookahead is used to make sure the string contains at least one digit (before or after the decimal point)
return (bool) preg_match('/^-?+(?=.*[0-9])[09]*+'.preg_quote($decimal).'?+[0-9]*+$/D', (string) $str);
}
这是localeconv()转储:
array (size=18)
'decimal_point' => string '/' (length=1)
'thousands_sep' => string ',' (length=1)
'int_curr_symbol' => string 'IRR' (length=3)
'currency_symbol' => string 'ريال' (length=8)
'mon_decimal_point' => string '/' (length=1)
'mon_thousands_sep' => string ',' (length=1)
'positive_sign' => string '' (length=0)
'negative_sign' => string '-' (length=1)
'int_frac_digits' => int 2
'frac_digits' => int 2
'p_cs_precedes' => int 0
'p_sep_by_space' => int 0
'n_cs_precedes' => int 0
'n_sep_by_space' => int 0
'p_sign_posn' => int 3
'n_sign_posn' => int 3
'grouping' =>
array (size=1)
0 => int 3
'mon_grouping' =>
array (size=1)
0 => int 3
github上的相关问题 koseven/issues #351
答案 0 :(得分:0)
由于您在正则表达式中使用with pd.option_context('display.max_rows', None, 'display.max_columns', None):
print(df)
作为分隔符,因此也将它作为第二个参数传递给preg_quote
函数:
/
手册引用:
请注意,/不是特殊的正则表达式字符。
[...]
定界符
如果指定了可选的定界符,则也将对其进行转义。这对于转义所需的定界符很有用 通过PCRE功能。 /是最常用的定界符。