正则表达式 '/[^0-9]/' 或 '/\D/' 或 /5/6\d919 '5/7920 之间有什么区别?使用单引号或双引号更好吗?$number = '123asd456.789,123a4!"·$%&/()=/*-+<br>';
preg_replace('/\D/', '', $number) = 1234567891234
preg_replace('/\d/', '', $number) = asd.,a!"·$%&/()=/*-+
preg_replace('/[^0-9]+/', '', $number) = 1234567891234
当然,我做了一些测试,这些就是我的结果,我只是想对每个正则表达式多了解一点。哪个性能更好?
谢谢!!
最佳答案
\D
意味着任何东西,除了数字。它是 [^0-9]
的别名.
\d
表示任何数字。它是 [0-9]
的别名(没有 ^
)。
和"
没有区别和 '
,因为您没有使用内部 "
或 '
并且此字符串中没有类似 PHP 的变量。
关于php - preg_replace '/[^0-9]/' 或 '/\D/' 或 '/\d/' 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26406756/