字符串'啊啊abc啊啊'
表达式如何写才能判断是否只包含b一个字符?
b的前后如果有数字或者字母都为false
1
jookr OP 能控制判断指定字符后面不能跟字符或者数字了
echo preg_match("/b(?![0-9a-z])/ism",'啊啊abc啊b啊') ? "匹配" : '不匹配'; 但是前面就不懂怎么控制了 |
2
abelyao 2015-03-10 00:57:32 +08:00
描述不清楚,有歧义:
1. 整个字符串只有一个 b 字符?例如 'b' 2. 整个字符串中只能有 b 这个字符?例如 'bbbbbbb' 3. 前后可以是汉字但不能是字母或数字?例如 '丑B不约' 4. 前后能否包含符号? 5. 前后能否包含中日韩的生僻汉字? |
3
Tianpu 2015-03-10 01:34:42 +08:00 via iPhone
!preg_match('/[0-9a-z]b/i',$var) && !preg_match('/b[0-9a-z]/i',$var)
|
4
Tianpu 2015-03-10 01:36:22 +08:00 via iPhone
好像有问题,主要是需求描述也有问题,无法最终修正。
|
5
rrfeng 2015-03-10 09:41:36 +08:00
|
6
b821025551b 2015-03-10 09:57:49 +08:00
@rrfeng 看LZ描述,还要考虑汉字吧,[x00-xff]
|