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

正则表达式 - 如何确保两个字符之间或从开始到某个字符只出现 1 个字符实例

正则表达式 - 如何确保两个字符之间或从开始到某个字符只出现 1 个字符实例

开心每一天1111 2022-07-14 17:26:17
我想确保括号前只出现 1 个 comoa 实例。括号是必须的。我需要确保所有字符串都与模式匹配。正则表达式匹配器不得子字符串。例子; Mert,sert , abc() = not valid Mert, asd( = valid Mert , asd,( = not valid Mert , asd = not valid我试过这个,你能解释一下为什么它不起作用吗?谢谢.+,[^,]+\(.+
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

您可以使用

^[^,(]*,[^,(]*\(.*

查看正则表达式演示

在 Java 中,使用

Boolean result = s.matches("[^,(]*,[^,(]*\\(.*");

或者,如果可以有换行符,s.matches("(?s)[^,(]*,[^,(]*\\(.*").

细节

  • ^- 字符串开头(在 中不需要String#matches

  • [^,(]*- 除逗号和左括号外的 0 个或多个字符

  • ,- 在段落中

  • [^,(]*- 除逗号和左括号外的 0 个或多个字符

  • \(- 一个左括号

  • .*- 行/字符串的其余部分(带(?s))。


查看完整回答
反对 回复 2022-07-14
  • 1 回答
  • 0 关注
  • 238 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号