Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 或两个正则表达式之间的符号_Sql_Regex_Select - Fatal编程技术网

Sql 或两个正则表达式之间的符号

Sql 或两个正则表达式之间的符号,sql,regex,select,Sql,Regex,Select,我需要从和中提取之间的单词,其中或 为了这个我有 Pattern p = Pattern.compile("(?<=\\bFROM\\b).*?(?=\\bWHERE\\b)"); 使用上述模式,它将返回为 emp, dept 例2: input = "select * from emp, dept" 根据以上输入,我写了如下内容: Pattern p = Pattern.compile("(?<=\\bFROM\\b).*?(?=\\bWHERE|;\\b)"); Pa

我需要从
中提取
之间的单词,其中

为了这个我有

Pattern p = Pattern.compile("(?<=\\bFROM\\b).*?(?=\\bWHERE\\b)");
使用上述模式,它将返回为

emp, dept
例2:

input = "select * from emp, dept"
根据以上输入,我写了如下内容:

Pattern p = Pattern.compile("(?<=\\bFROM\\b).*?(?=\\bWHERE|;\\b)");  

Pattern p=Pattern.compile((?修改表达式以识别WHERE子句中的所有字符,并将其设置为可选

(?<=\bFROM\b).*?(\s*WHERE\s.*)?$

<代码> >(您使用ReXEPS来解析HTML吗?请考虑:<代码>从Table中选择Culnnx,其中1=1 < /COD> > Bart。我认为<代码> \b>代码>用于此目的。因此没有问题。@蓝,啊,是的,许多ReGEX实现不从我的列名中看到<代码> < <代码>和<代码> f>代码> > <代码> \b>代码> >但这不是我的观点:我的观点是(或)是这样一个简单的测试在某些SQL语句中很可能失败。考虑这个代码:<代码>从“X”中选择“Fo”,从“y”中的1=1</代码>如果你有“代码>”,从EMP选择“*”,“按ID顺序排列”< /C> >它将匹配一个错误的子串。
(?<=\bFROM\b).*?(\s*WHERE\s.*)?$