vps交流

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


只能出现一个字符出两个都不匹配,例如匹配b:abc (能匹配)abcb(不能匹配)
这正则咋写?
本帖最后由 caizi 于 2022-6-16 14:46 编辑

看错。但你这个需求,还是写一小段程序判断吧。正则怎么写只匹配唯一一个字符串?

caizi 发表于 2022-6-16 14:39
看错。但你这个需求,还是写一小段程序判断吧。

写不了程序

具体情况具体分析
php很简单

先匹配出内容,再用一个循环用stripos()去寻找字符,

正则匹配的结果都是以组为单位的
我写了一下,简单测试没问题,你自己验证下

  1. ^([^b]+)?b([^b]+)?$

复制代码

https://tool.oschina.net/regex/

比如要匹配只出现一次abc的句子

  1. ^(?:(?!abc).)*abc(?!.*abc).*$

复制代码

asdfdafdabcsadsd 能匹配到
sadsfabcdasdabcd 不满足匹配

只能逐字逐词逐组匹配,一条正则解决不了
赞(0)
版权声明:本贴采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
帖子名称:《正则怎么写只匹配唯一一个字符串?》
帖子链接:https://bbs.toot.su/131047.html

相关推荐