php preg_替换
我只需要允许字母、数字和下划线(389;) 任何其他内容都可以替换为空格符号(389;) 我的正则表达式模式怎么了php preg_替换,php,Php,我只需要允许字母、数字和下划线(389;) 任何其他内容都可以替换为空格符号(389;) 我的正则表达式模式怎么了 <?php $val = 'dasd Wsd 23 /*~`'; $k = preg_replace('/[a-Z0-9_]+$/', '_', $val); ?> 您需要添加^以反转字符类内匹配的字符 $val = 'dasd Wsd 23 /*~`'; $k = preg_replace('/[^a-zA-Z0-9_]/', '_', $val); 另一种方法是
<?php
$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/[a-Z0-9_]+$/', '_', $val);
?>
您需要添加
^
以反转字符类内匹配的字符
$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/[^a-zA-Z0-9_]/', '_', $val);
另一种方法是让它匹配非“单词”字符,即任何不是字母、数字或下划线的字符
$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/\W/', '_', $val);
您需要添加
^
,它反转字符类中匹配的字符
$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/[^a-zA-Z0-9_]/', '_', $val);
另一种方法是让它匹配非“单词”字符,即任何不是字母、数字或下划线的字符
$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/\W/', '_', $val);
[a-Z]
不匹配任何内容。。您可以使用\W
匹配非单词字符:
preg\u replace('/\W+/'、''.'和$val)
此外,
$
符号仅在字符串末尾匹配。[a-Z]
不匹配任何内容。。您可以使用\W
匹配非单词字符:
preg\u replace('/\W+/'、''.'和$val)
此外,$
符号仅在字符串末尾匹配