hivesql 匹配特殊转义字符

如果需要用like来匹配字符串中的特殊字符,eg.?, \ ,/。需要对其做转义,否则会当做正则表达被处理

<span style="color:#000000"><code>hive> <span style="color:#000088 !important">select</span> channel <span style="color:#000088 !important">from</span> test;
a?bc
a_bc
a.bc

hive> <span style="color:#000088 !important">select</span> channel <span style="color:#000088 !important">from</span> test <span style="color:#000088 !important">where</span> channel <span style="color:#000088 !important">like</span> <span style="color:#880000 !important"><em>'%\?%'</em></span>
a?bc

hive> <span style="color:#000088 !important">select</span> channel <span style="color:#000088 !important">from</span> test <span style="color:#000088 !important">where</span> channel <span style="color:#000088 !important">like</span> <span style="color:#880000 !important"><em>'%\_%'</em></span></code></span>

正则表达式需要转义的特殊字符

  • $ :匹配输入字符串结尾的位置。若要匹配 $ 字符本身,请使用 \$。
  • ( ) :标记子表达式的开始和结束。可以捕获子表达式以供以后使用。若要匹配这两个字符,请使用  \(  和  \) 。
  • *:零次或多次匹配前面的字符或子表达式。若要匹配 * 字符,请使用 \*。
  • +: 一次或多次匹配前面的字符或子表达式。若要匹配 + 字符,请使用 \+。
  • . :匹配除换行符 \n 之外的任何单个字符。若要匹配 .,请使用 \.。
  • [ ] :标记中括号表达式的开始。若要匹配这些字符,请使用 \[ 。
  • ?: 零次或一次匹配前面的字符或子表达式,或指示“非贪心”限定符。若要匹配 ? 字符,请使用 \?。
  • \ :将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,字符 n 匹配字符 n。\n 匹配换行符。序列 \\ 匹配 \,序列 \( 匹配 (。
  • / :表示文本正则表达式的开始或结束。若要匹配 / 字符,请使用 \/。
  • ^ :匹配输入字符串开始处的位置,但在中括号表达式中使用的情况除外,在那种情况下它对字符集求反。若要匹配 ^ 字符本身,请使用 \^。
  • { }: 标记限定符表达式的开始。若要匹配这些字符,请使用 \{ 和 \}。
  • | :指出在两个项之间进行选择。若要匹配 | ,请使用\|。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值