php写一个正则表达式 匹配逗号

php写一个正则表达式 匹配逗号,第1张

<?php

$str="pen,pencil,pencil-case,ruler,eraser"

$pattern="/\,/i"

echo preg_replace($pattern,"",$str,-1)

?>

说明:

mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit] )

pattern

要搜索的模式。可以使一个字符串或字符串数组。

replacement

用于替换的字符串或字符串数组。

subject

要进行搜索和替换的字符串或字符串数组。

limit

每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。

匹配汉字其实与编码有关系的,UTF8的正则与GBK的正则就会有差别。

我按你的要求改了一个在UTF-8编码下匹配的,但还没达到禁止连续两个半角逗号的要求。你可以先看看,看看有没有启发。

$str = "汉,中国,人,字"

if (preg_match("/^[^,][\x{4e00}-\x{9fa5},]+[^,]$/u",$str)) {

print("合法")

} else {

print("不合法")

}

============

如果未能解决两个半角逗号的问题,其他楼主也可以降低一下要求,分两次处理。第一次先替换掉双半解逗号为一个,再使用正则来匹配。

能解决问题是关键,方法可以再优化,对不?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7319223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存