我使用下面的表达式来检查股票代码是否有效
$s_optionPattern = "/^[a-z0-9]{1,6}\s+(?:c|call|p|put)\s+[0-9\.]+\s+[0-9]{4}[0-9]{2}[0-9]{2}$/i";
$s_symbol = "TQNT CALL 6 20120519";
$s_symbol2 = "BRK'B CALL 80 20120317";
echo "<br>--->".preg_match($s_optionPattern, $s_symbol);
echo "<br>--->".preg_match($s_optionPattern, $s_symbol2);
在这里,我得到了false (0)作为第二个符号,true作为第一个符号。
如果我按照下面的方式编辑正则表达式,对吗?
$s_optionPattern = "/^[a-z0-9']{1,6}\s+(?:c|call|p|put)\s+[0-9\.]+\s+[0-9]{4}[0-9]{2}[0-9]{2}$/i";
但我不确定它是否正确。有没有人能帮我解决这个问题?
这里有些股票符号有(点,')字符,也像BRK.B,BRK'B。
发布于 2012-03-07 18:10:47
尝尝这个
$pattern='/[a-zA-Z.]+/';
$s_symbol ='TQNT';
$s_symbol2 = "BRK.B";
preg_match_all($pattern,$s_symbol,$matches1);
print_r($matches1[0]);
preg_match_all($pattern,$s_symbol2,$matches2);
print_r($matches2[0]);
https://stackoverflow.com/questions/9598944
复制相似问题