请教高手一个正则问题!!!!!!!
例如有一个字符串“大结局” ,怎样正则匹配这样的规则 :当这个字符串以 )、)或空格结尾时,后面可以跟其他任意字符(例如 :“大结局)abc11”),当这个字符串后面跟的不是这三种符号时,那他后面什么都不能跟。
------解决方案--------------------
String reg = "大结局($
------解决方案--------------------
[)、)].*)";
System.out.println("大结局)abc11".matches(reg));
System.out.println("大结局)abc11".matches(reg));
System.out.println("大结局、abc11".matches(reg));
System.out.println("大结局aabc11".matches(reg));
System.out.println("大结局局abc11".matches(reg));
System.out.println("大结局Cabc11".matches(reg));
没怎么看懂,什么是这样?
------解决方案--------------------
感觉这样好理解一点:【大结局([\\s
------解决方案--------------------)
------解决方案--------------------)].*)+】
空格\\s,大括号),小括号)任意一种情况:【[\\s
------解决方案--------------------)
------解决方案--------------------)]】
出现上面三种情况,后面可以任意加东西【[\\s
------解决方案--------------------)
------解决方案--------------------)].*】
【大结局】要不只有自己,要不后面跟上面的字串,就是说上面的情况可有可无,使用【+】
因此有【大结局([\\s
------解决方案--------------------)
------解决方案--------------------)].*)+】
-----------------------------------------感觉这样直观一些
String reg = "大结局([\\s
------解决方案--------------------
)
------解决方案--------------------
)].*)+";
System.out.println("大结局)abc11".matches(reg));
System.out.println("大结局)abc11".matches(reg));
System.out.println("大结局 abc11".matches(reg));
System.out.println("大结局abc11".matches(reg));
------解决方案--------------------是“大结局”后面跟那些符号还是最后是那些符号?
如果是后面紧跟那些符号的话 String reg = "大结局(
------解决方案--------------------)
------解决方案--------------------\\)).*";
如果是最末尾的话 String reg = "大结局.*?(
------解决方案--------------------)
------解决方案--------------------\\))";
------解决方案--------------------"大结局([)),])";