0

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

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

上面的代码确保条目应该以 SELECT 开头,然后是 WHITESPACE(示例:SELECT * FROM TABLE1)但是当用户在创建查询时使用“ENTER”键时,正则表达式会失败。所以我想要 REGEX 到所有 'ENTER' 键。谁能告诉我 REGEX 的语法以允许用户在文本区域中使用“ENTER”键吗?

4

1 回答 1

3

小题外话:你的代码没有做任何事情来确保后面的空格,SELECT因为点匹配除换行符以外的任何字符。

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

所以我建议这样做:

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

甚至

"^(?i)select\\s"

因为这已经足以检查字符串是否以SELECT<space>.

于 2012-07-09T11:26:54.393 回答