正则表达式以验证Java中的导入字符串

时间:2019-07-08 15:36:05

标签: java

我必须在Java中做一个正则表达式,以识别我在控制台中编写的行是Java中类的包装行。

例如,以下行是正确的:package mx.com.example.aplication;

但这是不正确的:Package mx. com. example.aplication

我必须检查整个结构,点和大写

我有这个:

^(\bpackage)[\s]{1}[A-Za-z]

我无法让我的String用;评估结尾

2 个答案:

答案 0 :(得分:0)

现在,您的正则表达式只是读取单词package,一个空格和一个字母。下面的正则表达式适用于您的示例。 ^((?:[a-z][a-z\-\_]+))(\s+)((?:[a-z][a-z\.\d\-\_]+)\.(?:[a-z][a-z\-\_]+))(?![\w\.])\s*(;)$ 上面的此正则表达式代码允许单词“ package”,后跟一个空格,后跟一个完全限定的域名,然后是一个分号。这样它将检查整行。

答案 1 :(得分:0)

以下正则表达式应该起作用:

^\s*package\s*\w+\s*(?:\.\s*\w+\s*)*;\s*$

请注意,在包声明的各个部分之间具有多个空格是有效的Java:

package     java  .  util   ;

正则表达式允许这样做。如果出于某种原因而不想这样做,则此正则表达式可以解决问题:

^package \w+(\.\w+)*;$