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

我想确保括号前只出现 1 个 comoa 实例。括号是必须的。我需要确保所有字符串都与模式匹配。正则表达式匹配器不得子字符串。


例子;


 Mert,sert , abc() = not valid

 Mert, asd( = valid

 Mert , asd,( = not valid

 Mert , asd = not valid

我试过这个,你能解释一下为什么它不起作用吗?谢谢


.+,[^,]+\(.+


开心每一天1111
浏览 239回答 1
1回答

萧十郎

您可以使用^[^,(]*,[^,(]*\(.*查看正则表达式演示在 Java 中,使用Boolean result = s.matches("[^,(]*,[^,(]*\\(.*");或者,如果可以有换行符,s.matches("(?s)[^,(]*,[^,(]*\\(.*").细节^- 字符串开头(在 中不需要String#matches)[^,(]*- 除逗号和左括号外的 0 个或多个字符,- 在段落中[^,(]*- 除逗号和左括号外的 0 个或多个字符\(- 一个左括号.*- 行/字符串的其余部分(带(?s))。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java