[英]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.