我想确保在括号前只出现1个comoa实例。括号是必须的。我需要确保所有字符串都与模式匹配。正则表达式匹配器不能为子字符串。
示例;
android:layout_centerHorizontal="true"
我尝试过这一方法,还可以解释为什么它不起作用吗?谢谢
Mert,sert , abc() = not valid
Mert, asd( = valid
Mert , asd,( = not valid
Mert , asd = not valid
答案 0 :(得分:3)
您可以使用
^[^,(]*,[^,(]*\(.*
请参见regex demo
在Java中,使用
Boolean result = s.matches("[^,(]*,[^,(]*\\(.*");
或者,如果可以使用换行符,请s.matches("(?s)[^,(]*,[^,(]*\\(.*")
。
详细信息
^
-字符串的开头(String#matches
中不需要)[^,(]*
-除逗号和右括号外的0个或多个字符,
-逗号[^,(]*
-除逗号和右括号外的0个或多个字符\(
-右括号.*
-行/字符串的其余部分(带有(?s)
)。