当前位置: 代码迷 >> Java Web开发 >> 上面的这一句js该怎么解释啊
  详细解决方案

上面的这一句js该怎么解释啊

热度:940   发布时间:2013-02-25 21:14:20.0
下面的这一句js该如何解释啊?
"\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|/\*.+?\*/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)"引号里面的如何解释?


------解决方案--------------------------------------------------------
看起来像是个正则表达式啊
------解决方案--------------------------------------------------------
大致看了下,涉及的正则表达式语法用:


\b 匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。

x|y 匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。

? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。

{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。刘, "o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

不全的百度,LZ自己参照着看吧。

------解决方案--------------------------------------------------------
没有仔细看,好像是判断一个SQL语句的有效性。
  相关解决方案