繁体   English   中英

如何用零字符正则表达式检查Java中的字符串?

[英]How to Check a String in Java with an Zero Character RegEx?

以下代码检查相同的变量部分/en(^$|.*)是否为空或任何字符。 因此该表达式应与/en AND /en/bla/en/blue等匹配。但是仅检查/en时该表达式不起作用。

"/en".matches("/en(^$|.*)")

有没有办法使此空的正则表达式检查(^ $)与Java一起执行?

编辑

我的意思是:有没有办法使这段代码返回true

您当前正在执行的操作是检查是否在en后面跟随字符串的开头,然后是字符串的结尾(这没有意义,因为字符串的开头必须在第一个),或者其他任何方法。 这应该工作:

"/en".matches("/en(|.*)")

还是只是使用? (可选的):

"/en".matches("/en(.*)?")

但这是毫无意义的,因为*为零或更大(因此,空白字符串将与.*匹配),只需这样做即可:

"/en".matches("/en.*")

编辑:

您的代码已经返回true,但是它与^$部分不匹配,而与.*相匹配(类似于上面的内容)。

我应该指出,除非您的实际数据更为复杂,否则您也可以使用startsWith

"/en".startsWith("/en")

有没有办法使这段代码返回true?

 "/en".matches("/en(^$|.*)") 

该代码确实返回true。 去尝试一下!

但是,您的模式不必要地复杂。 尝试:

"/en".matches("/en.*")

这将匹配/en后跟任何内容(包括不包含任何内容)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM