正则表达式问题,求助

String regex = "com/xxx/ * /test";
String string = "com/xxx/utils/test";
System.out.println(string.matches(regex));

为什么结果是false,

String regex = "com/xxx/ * /pattern/ * ";
String string = "com/xxx/test/pattern/PatternTest1";
System.out.println(string.matches(regex));

这个也是false,该怎么匹配?

如果用户输入的是【com.xxx. * .pattern. * 】该如何用表达式匹配com/xxx/test/pattern/PatternTest1.class呢?

5个回答

还有,你*号前面至少写一个子表达式,*是用来匹配前面的子表达式的,你前面是个/当然不行。你如果想让之间有0或者多个字母,用[a-z]*

wubring
撸自呻大人 谢谢,又懂了一点新知识~
接近 5 年之前 回复

号在正则表达式是不能直接使用的,最好【a-z】放在一起使用

呃。很明显,*号旁边有空格啊,把空格去掉

wubring
撸自呻大人 不输入空格,显示好像有点问题
接近 5 年之前 回复

改成.,就是“*”前面加个“.”

wubring
撸自呻大人 是的,已经解决了,谢谢
接近 5 年之前 回复

你的这个regex 里的 / 不需要转义么?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐