Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
Regex 获取第二个单词的正则表达式_Regex_Oracle - Fatal编程技术网

Regex 获取第二个单词的正则表达式

Regex 获取第二个单词的正则表达式,regex,oracle,Regex,Oracle,在 尝试使用查询字符串获取第二个单词的5个字符和 试试这个 SELECT '5-CULVERTS AND UNDERPASSES' FROM DUAL; 但是没有帮助。您可以按如下方式执行: select regexp_substr('5-CULVERTS AND UNDERPASSES','[^ ]{2}+') from dual 要匹配前两个单词,可以执行以下操作: select regexp_substr('5-CULVERTS AND UNDERPASSES','[^\s]+\s[

尝试使用查询字符串获取第二个单词的
5个字符和

试试这个

SELECT '5-CULVERTS AND UNDERPASSES' FROM DUAL;

但是没有帮助。

您可以按如下方式执行:

select regexp_substr('5-CULVERTS AND UNDERPASSES','[^ ]{2}+') from dual


要匹配前两个单词,可以执行以下操作:

select regexp_substr('5-CULVERTS AND UNDERPASSES','[^\s]+\s[^\s]+') from dual
解释

  • \S+
    匹配任何非空格字符的字符(第一个单词)
  • \s+
    匹配任何空格字符
  • \S+
    匹配第二个单词
选项2:第二个单词是可选的

使用以下命令:

SELECT REGEXP_SUBSTR(mycolumn, '\S+\s+\S+', 1, 1, 'cm') FROM dual;
空格和第二个单词现在放在括号中,并通过

可以用这种方式进行选择

SQL>选择regexp_substr('5-1 地下通道“,”\S+(\S+\S+)?”,1,1)来自双通道

发出
5-涵洞和

哦,对了。我忘记了
\S
而不是
[^\S]
。但是我不会改变我的答案,因为你已经做了
\S
+1至you@sshashank124谢谢,答案几乎相同,下次我会照顾你的。:)谢谢Nisar,很高兴它有帮助!:)<代码>从dual中选择REGEXP_SUBSTR('6-BRIDGES','\S+\S+',1,1)从dual中选择REGEXP_SUBSTR('6-BRIDGES','\S+(\S+\S+)',1,1)将更新答案。:)
SELECT REGEXP_SUBSTR(mycolumn, '\S+\s+\S+', 1, 1, 'cm') FROM dual;
SELECT REGEXP_SUBSTR('6-BRIDGES', '\S+(\s+\S+)?', 1, 1) FROM dual;