oracle REGEXP.*理解关注点



问题-从电台表中选择所有城市,其中城市的起始和结束字母必须是任何元音(a/e/i/o/u(。

我通过的解决方案:``从车站选择城市WHERE REGEXP_LIKE(城市,'^(a|e|i|o|u($','i'(``

但这并没有给出任何输出,我在网上搜索了解决方案,下面是工作代码:``从车站中选择城市WHERE REGEXP_LIKE(城市,'^(a|e|i|o|u(.*(a|e |i|o |u($','i'(``

我试着在网上搜索,但不明白为什么要申请*介于两者之间。对于我的代码,我认为它不起作用,因为我使用相同的子表达式作为开始(^(和结束($(。

有人能帮我理解*在这里工作。

  • .表示任何字符
  • CCD_ 2意味着零次或更多次出现该";任何字符">

文档中的更多信息。

因此,它会查找以元音开始^、后面没有其他字符(或者后面可能有许多其他字符(、以元音结束的字符串。

.表示任何字符,下面的*表示您接受它的任何次数,包括零次出现。因此,组合的工作方式类似于MS-DOS中的单个*,或者类似于SQLLIKE模式中的%

'^(a|e|i|o|u)$'

想要一个字符串的开头,一个元音,然后是字符串的结尾。所以"a"匹配,但"aa"one_answers"aba"不匹配。

'^(a|e|i|o|u).*(a|e|i|o|u)$'

想要字符串的开头,一个元音,可以选择任何字符,然后是元音,然后是字符串的结尾。因此,"a"匹配,"aa"(元音,零字符,元音(、"aba"(元音、一个字符、元音(和"abcdefghijklmnopqrstu"(元音(也匹配。

相关内容

  • 没有找到相关文章

最新更新