Java REGEX模式匹配2

时间:2014-06-14 18:44:49

标签: java regex

Pattern pattern = Pattern.compile("^[a-zA-Z0-9]=[a-zA-Z0-9]+$");

我正在尝试制作一个复制PROPERTIES文件格式的模式。但是只有在等号前面的字符串是一个字符时,代码才有效。

我的结束目标是拥有一个如下所示的模式:AnyLetterOrNumberInUndefinedAmount = AnyLetterOrNumberInUndefinedAmount

我可以做些什么来修复我的代码。

4 个答案:

答案 0 :(得分:1)

试试"^([^=]+)=(.+)$"。这会将表达式放在匹配组中的等号的两侧,以后可以检索,并且两者都将匹配除第一个等号本身之外的所有内容。

+后缀表示两个表达式必须至少包含一个字符。如果您希望两侧都不匹配任何内容,请将+替换为*。

有关详细说明,请参阅http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

答案 1 :(得分:1)

试试这个:

Pattern pattern = Pattern.compile("^[a-zA-Z0-9]+=[a-zA-Z0-9]+$");

答案 2 :(得分:1)

你的模式应该是“(^ [a-zA-Z1-9] )=(。)”

答案 3 :(得分:1)

现在,您的第一个字符集/类仅允许(1azAZ的{​​{1}}字符到0

一个简单的修复和错误,只需在你的角色类之后添加9量词意义(+或更多次)。

1

Live Demo