myn*_*etx 7 php regex preg-match
for($i = 0; $i < 255; $i++)
if (preg_match('@[[:print:]]@', chr($i))) echo "chr($i) matches :print:<br>"; else echo "chr($i) doesnt match :print:<br>";
Run Code Online (Sandbox Code Playgroud)
在我的Windows系统上,输出为chr(9)
:
chr(9)匹配:print:
使用相同的代码,在Linux系统上,输出为:
chr(9)不匹配:打印:
为什么:print:
该类\t
仅在Windows上匹配?
这可能是一个区域设置问题,但是您手上必须有一个非常时髦的区域设置。POSIX 说 no cntrl
can be print
,并且 no space
or blank
can beprint
除非它是空格字符本身。在"C"
语言环境中,制表符是、、 和的全部;这似乎是一个非常奇怪的地方,不会认为它是其中之一。cntrl
space
blank
归档时间: |
|
查看次数: |
860 次 |
最近记录: |