开发者社区> 问答> 正文

一个正则表达式的问题

有四个字符串: 1.kzbfldsf 2.kzqldsf 3.kybfldsf 4.kyqldsf

写一个正则表达式全部可以匹配 其中k,ldsf是固定的, 第二个字母可能是z、y 第三个字符可能是bf、q

我写的表达式: Java代码 收藏代码

k[z|y][q|bf]ldsf

这样只能匹配第2,4这两个, 如果写成这样 Java代码 收藏代码

k[z|y][q|b]f?ldsf

则4个都可以匹配。

问题是,不知道为什么第一个表达式不能全匹配?

展开
收起
长安归故里. 2020-01-07 21:28:43 823 0
1 条回答
写回答
取消 提交回答
  • 你没有理解[]的用法,你的第一个写法实际上就是 k[zy][qbf]ldsf 第二个写法实际就是 k[zy][qb]f?ldsf 第二个写法也是有问题的 比如kzyqfldsf也会被匹配上,这个正确吗?

    应该用括号表达式来匹配字符串而不是一个字(如果只能匹配你写的这4种的话) kzyldsf

    [zy] 第二个字母可能是z、y (bf|q) 第三个字符(或者串)可能是bf、q

    2020-01-07 21:28:52
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载