mysql笔记-regexp正则表达

1.^:匹配字符串的首部

SELECT 'fo\nfo' REGEXP '^fo$';        # -> 0
SELECT 'fofo' REGEXP '^fo';           # -> 1

2.$:匹配字符串的尾部

SELECT 'fo\no' REGEXP '^fo\no$';        # -> 1      
SELECT 'fo\no' REGEXP '^fo$';           # -> 0

3..:匹配任意字符

SELECT 'fofo' REGEXP '^f.*$';                # -> 1

4.*:匹配前面的部分0或多个字符[0,+∞]

select 'abc' regexp 'h*b';                 # -> 1 
select 'abc' regexp 'ha*b';                # -> 0 
select 'abc' regexp '(hawthorn)*b';        # -> 1 

5.+:匹配1或多个字符[1,+∞]

SELECT 'Ban' REGEXP '^Ba+n';                    # -> 1
SELECT 'Ban' REGEXP '^Ba+nn';                   # -> 0
SELECT 'Bn' REGEXP '^Ba+n';                     # -> 0

6.?:匹配前面的部分0或1个字符[0,1]

SELECT 'Bn' REGEXP '^Ba?n';                     # -> 1
SELECT 'Ban' REGEXP '^Ba?n';                    # -> 1
SELECT 'Baan' REGEXP '^Ba?n';                   # -> 0
SELECT 'Baan' REGEXP '^Baa?n';                  # -> 1

7.|:代表‘或’

SELECT 'apa' REGEXP 'pi|apa';                   # -> 1
SELECT 'apa' REGEXP '^(pi|apa)$';               # -> 1

8.[]:表示匹配范围;{,}:代表匹配次数

SELECT 'abcde' REGEXP 'a[bcd]{1,10}e';          # -> 1
SELECT 'gheis' REGEXP '^[^a-dXYZ]+$';           # -> 1

9.[.characters.]:匹配特殊符号

SELECT '~' REGEXP '[[.~.]]';                     -> 1
SELECT '~' REGEXP '[[.tilde.]]';                 -> 1

10.[:character_class:]:匹配字符串类型

SELECT 'justalnums' REGEXP '[[:alnum:]]+';      # -> 1
SELECT '!!' REGEXP '[[:alnum:]]+';             #  -> 0

alnum:字母数字,alpha:字母,blank:空,digit:数字

11.[[:<:]][[:>:]]:定位符

SELECT 'hawthorn and plum' REGEXP '[[:<:]](hawthorn|sunflower)[[:>:]]';          # -> 1
SELECT 'hawthorns and plum' REGEXP '[[:<:]](hawthorn|sunflower)[[:>:]]';         # -> 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您使用的是 Element UI 中的 `el-input` 组件,并且需要对用户输入进行正则表达式的校验,可以使用 `el-input` 的 `validateEvent` 和 `regExp` 属性来实现。以下是一个示例代码: ```html <template> <el-input v-model="password" placeholder="请输入密码" :validate-event="false" :pattern="pattern" :title="title" /> </template> <script> export default { data() { return { password: '', pattern: "^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,}$", title: "密码必须包含至少一个字母、一个数字、一个特殊符号,且长度不能少于8位" } } } </script> ``` 在上面的代码中,我们通过 `v-model` 指令将输入框中的值绑定到 `password` 变量上,并且将 `validate-event` 属性设置为 `false`,表示输入框不会自动触发校验事件。然后,我们将正则表达式字符串赋值给 `pattern` 变量,将校验提示信息赋值给 `title` 变量。 最后,在 `el-input` 组件上,我们将 `pattern` 和 `title` 属性分别绑定到正则表达式和提示信息上,这样用户在输入密码时就会自动触发正则表达式的校验,并且在输入框下方会显示校验提示信息。 需要注意的是,如果使用 `el-input` 组件内置的校验功能,需要将 `validate-event` 属性设置为 `blur` 或 `change`,表示校验会在输入框失去焦点或内容改变时自动触发。如果将 `validate-event` 属性设置为 `false`,则需要手动触发校验,可以使用 `this.$refs.input.validate()` 方法来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值