我正在为以下情况构建正则表达式:
以“”分隔输入,不包括“,”之前或之后或仅在“,”之前具有数字的输入
例如: 输入:测试输入,val输入,输入1,输入2,输入3,4
输出:['测试输入','val输入','输入1','输入2','输入3,4']
$input_values = "test input, val input, input 1, input 2, input 3,4";
$regex = '/(?<!\d)\,/m';
$subst = '~';
$initial_input = preg_replace($regex, $subst, $input_values);
var_dump($initial_input);
此处提到的代码显示输出:
['test input','val input', 'input 1, input 2', 'input 3,4']
它不会拆分输入1,输入2
答案 0 :(得分:1)
您可以使用
'/(?<!\d(?=,\d)),/'
请参见regex demo
它与,
匹配,该,
后面没有数字,后面跟着$input_values = "test input, val input, input 1, input 2, input 3,4";
$regex = '/(?<!\d(?=.\d)),/';
$subst = '~';
$initial_input = preg_replace($regex, $subst, $input_values);
print_r($initial_input);
// => test input~ val input~ input 1~ input 2~ input 3,4
和一个数字。
// Update basic User's Data
exports.setUserdata = (req, res) => {
const id = req.params.userId;
User.update(
{
password: req.body.password,
name: req.body.name,
surname: req.body.surname,
email: req.body.email,
},
{ where: { id } },
)
.then(() => {
res.status(200).json({ success: true });
})
.catch(() => {
res.status(500).json({ error: 'Internal server error' });
});
};