为了账号安全,请及时绑定邮箱和手机立即绑定

如何使正则表达式匹配的一部分可选?

如何使正则表达式匹配的一部分可选?

明月笑刀无情 2019-10-21 14:39:11
这是一个示例字符串:123456#p654321目前,我正在使用此匹配项进行捕获123456并654321分为两个不同的组:([0-9].*)#p([0-9].*)但是有时候,#p654321字符串的一部分不会出现,所以我只想捕获第一组。我试图通过添加第二组使其成为“可选” ?,这是可行的,但前提是#p其余字符串的末尾有一个。解决这个问题的最佳方法是什么?
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

您的regex实际上不会匹配任何数字,因为您已使用*而不是+。

这是您想要的(我认为):


(\d+)(?:#p(\d+))?


查看完整回答
反对 回复 2019-10-21
  • 2 回答
  • 0 关注
  • 1496 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信