我无法使用简单的正则表达式,现在我有以下 java 代码
String regex = "^([^A-Za-z]*?[A-Z][A-Za-z]*?)+.?";
String string = "AQUA, CETEARYL ALCOHOL, CETYL ESTERS, BEHENTRIMONIUM CHLORIDE, CETRIMONIUM CHLORIDE, AMODIMETHICONE, TRIDECETH-12, PARFUM, METHYLPARABEN, HEXYL CINNAMAL, LINALOOL, BENZYL SALICYLATE, LIMONENE, LAMINARIA DIGITATA, CHAMOMILLA RECUTITA , ANICOZANTHOS FLAVIDUS, SODIUM BENZ0ATE, PHENOXYETHANOL, ETHYLPARABEN, BUTYLPARABEN, PROPYLPARABEN, P0LYS0RBATE 20, CI 19140, CI 14700.";
System.out.println(string.matches(regex));
问题是执行永远不会结束。请仅使用我的正则表达式来查看我是如何失败的。我需要的东西对我来说听起来很简单: - 可以有任何文本。- 本文中的所有单词都应大写。- 如果有单个字符,它们也应该是大写的。- (数字、逗号、...)之间的任何内容都应始终匹配。请参阅上面的复杂示例。简单的是:
测试,测试,测试 = 真 测试,测试,测试 = 假 测试,7-测试测试,测试 = true 测试,7-测试测试,测试 = 假 na = 假 不适用 = 真 不适用 = 真 苯氧乙醇, P0LYS0RBATE 20, CI 19140, CI 14700. = true
非常感谢!!!