在我的Web应用程序中,我希望用户只输入SELECT语句。我使用以下正则表达式来验证条目。
(^(?i)select.+)(\\w|\\W)
上面的代码确保条目应该以SELECT开头,然后是WHITESPACE (示例:SELECT * FROM TABLE1) 但是当用户在创建查询时使用“ENTER”键时,正则表达式失败。 所以我希望REGEX全部为“ENTER”键。任何人都可以告诉我REGEX的语法,允许用户在文本区域中使用“ENTER”键吗?
答案 0 :(得分:3)
小旁白:您的代码无法确保SELECT
之后的空格,因为该点匹配除换行符之外的任何字符。
但是现在,回答你的问题:你需要(?s)
标志来允许点也匹配换行符。另外,您应该使用\s
标记来声明空格的存在。尾随(\w|\W)
相当神秘 - 它也匹配任何角色......
所以我会建议:
"^(?is)select\\s.*"
甚至
"^(?i)select\\s"
因为已经足够检查字符串是否以SELECT<space>
开头。