全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 850|回复: 17
打印 上一主题 下一主题

正则怎么写只匹配唯一一个字符串?

[复制链接]
跳转到指定楼层
1#
发表于 2022-6-16 14:38:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
只能出现一个字符出两个都不匹配,例如匹配b:abc (能匹配)abcb(不能匹配)
这正则咋写?
2#
发表于 2022-6-16 14:39:22 来自手机 | 只看该作者
本帖最后由 caizi 于 2022-6-16 14:46 编辑

看错。但你这个需求,还是写一小段程序判断吧。
3#
 楼主| 发表于 2022-6-16 14:47:27 | 只看该作者
caizi 发表于 2022-6-16 14:39
看错。但你这个需求,还是写一小段程序判断吧。

写不了程序
4#
发表于 2022-6-16 14:51:28 | 只看该作者
具体情况具体分析
5#
发表于 2022-6-16 14:57:23 | 只看该作者
php很简单

先匹配出内容,再用一个循环用stripos()去寻找字符,
6#
发表于 2022-6-16 14:57:47 | 只看该作者
正则匹配的结果都是以组为单位的
7#
发表于 2022-6-16 15:03:08 | 只看该作者
我写了一下,简单测试没问题,你自己验证下
  1. ^([^b]+)?b([^b]+)?$
复制代码


https://tool.oschina.net/regex/
8#
发表于 2022-6-16 15:11:08 | 只看该作者
比如要匹配只出现一次abc的句子
  1. ^(?:(?!abc).)*abc(?!.*abc).*$
复制代码


asdfdafdabcsadsd 能匹配到
sadsfabcdasdabcd 不满足匹配
9#
发表于 2022-6-16 15:16:40 | 只看该作者
只能逐字逐词逐组匹配,一条正则解决不了
10#
发表于 2022-6-16 16:49:05 | 只看该作者
楼上的大佬真厉害
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-6-15 11:09 , Processed in 0.063470 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表