问题-从电台表中选择所有城市,其中城市的起始和结束字母必须是任何元音(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"(元音(也匹配。