【发布时间】:2022-01-02 20:21:00
【问题描述】:
我有以下操作,它在遇到字母时拆分字符串:
$splitOriginal = preg_split("/[a-zA-Z]/", implode('', array_slice($array, $key)), 2);
我想扩展它,当遇到的变量不是数字、括号、加号、连字符、换行符或制表符时,它会拆分字符串。
我写了一个可以匹配上面的正则表达式:
preg_match('/^(?=.*[0-9])[- +()0-9\r\n\t]+$/', $value)
但我需要否定它,以便在被比较的值不是它时匹配。非常感谢我能得到任何及时的帮助。
谢谢。
【问题讨论】:
-
你能展示一个示例输入,以及结果数组应该是什么吗?
-
看起来您应该只使用
'/[^\d()+\n\t-]/'和preg_split。为什么切换到preg_match? -
@WiktorStribiżew 没有切换到
preg_match,只是想显示我尝试使用的另一个正则表达式。感谢您的意见,将尝试。 -
@ChrisHaas 示例输入是任何同时包含字母、数字和符号的字符串。应该从头开始计数并在遇到不是数字、括号、加号、连字符、换行符或制表符的字符时拆分。
标签: php regex regex-negation regex-look-ahead