我需要创建一个允许字符串包含任意数量的正则表达式:
- 字母数字字符
- 空间
- (
- )
- &
- .
不允许使用其他字符。我使用RegexBuddy构建了以下正则表达式,当我在 RegexBuddy 中对其进行测试时,它可以正常工作:
\w* *\(*\)*&*\.*
然后我使用 RegexBuddy 的“使用”功能将其转换为 Java 代码,但使用简单的测试程序似乎无法正常工作:
public class RegexTest
{
public static void main(String[] args)
{
String test = "(AT) & (T)."; // Should be valid
System.out.println("Test string matches: "
+ test.matches("\\w* *\\(*\\)*&*\\.*")); // Outputs false
}
}
- 我必须承认,在正则表达式方面我有点盲点。谁能解释为什么它不起作用?