正则表达式 - 允许输入键(java)

时间:2012-07-09 11:20:21

标签: java regex

在我的Web应用程序中,我希望用户只输入SELECT语句。我使用以下正则表达式来验证条目。

(^(?i)select.+)(\\w|\\W)

上面的代码确保条目应该以SELECT开头,然后是WHITESPACE (示例:SELECT * FROM TABLE1) 但是当用户在创建查询时使用“ENTER”键时,正则表达式失败。 所以我希望REGEX全部为“ENTER”键。任何人都可以告诉我REGEX的语法,允许用户在文本区域中使用“ENTER”键吗?

1 个答案:

答案 0 :(得分:3)

小旁白:您的代码无法确保SELECT之后的空格,因为该点匹配除换行符之外的任何字符。

但是现在,回答你的问题:你需要(?s)标志来允许点也匹配换行符。另外,您应该使用\s标记来声明空格的存在。尾随(\w|\W)相当神秘 - 它也匹配任何角色......

所以我会建议:

"^(?is)select\\s.*"

甚至

"^(?i)select\\s"

因为已经足够检查字符串是否以SELECT<space>开头。