【发布时间】:2018-11-16 17:12:36
【问题描述】:
我有一个用于验证字符串的正则表达式。
String s = SELECT column1,column2 GROUPBY column3 AS AliasName
regex = ^SELECT\s+[[a-zA-Z_$][a-zA-Z_$0-9]*,*]+[a-zA-Z_$][a-zA-Z_$0-9]?\s+GROUPBY\s+[[a-zA-Z_$][a-zA-Z_$0-9]*,*]+[a-zA-Z_$][a-zA-Z_$0-9]?\s+AS\s+[a-zA-Z_$][a-zA-Z_$0-9]*$
此验证有效,但我需要帮助更改正则表达式,因此它只允许在每个 Java 变量之间使用一个逗号,并且不允许在第一列之前使用它。
例如,以下字符串不应该匹配,但它匹配:
String s2 = SELECT ,column1,,column2 GROUPBY column3 AS AliasName
另外,我想更改它,使SELECT、GROUPBY 和AS 可以是大写或小写。我知道我可以使用替代 | 但我更喜欢不同的方式。
【问题讨论】:
-
就目前而言,这些字符串会导致编译器错误。
标签: java regex validation pattern-matching