正则表达式

正则表达式=普通字符+特殊字符(元字符)

+:[+]之前的字符出现>=1

runoo+b 可匹配runoob、runooob...

*:次数>=0

runoo*b可匹配runob、runoob、runooooob...

?:次数=1或0

colou?r 匹配color、colour

{n}:次数=n,n->非负整数

o{2}可匹配roob,不能匹配rob

{n,}:次数>=n,n->非负整数

{m,n}:要求:m<n,m、n 均为非负整数,最少匹配m,最多匹配n次

. :匹配非换行符的单个字符=[^\n\r]

[\s\S]: 匹配所有,\s匹配所有空白符(包括换行符),\S 非换行符(不包括换行符)

\w :=[a-zA-Z0-9_]字母、数字、下划线

\d=[0-9]

特殊字符

$匹配字符串的结尾位置
()标记一个子表达式的开始和结束位置
|两者选一个

定位符

^匹配字符串的开始位置
$匹配字符串的结束位置
\b匹配一个单词边界——字与空格间的位置
\B非单词边界匹配

断言:

  • 正向先行断言: (?=)

    • 我们要匹配文本中的小时值。为了只匹配后面有 PM 的数值,我们需要在表达式后面使用正向先行断言 (?=),并在括号内的 = 后面添加 PM。

      Date: 4 Aug 3PM

      result: \d+(?=PM)

  • 负向先行断言: (?!)

    • 我们要在文本中匹配除小时值以外的数字。我们需要在表达式后面使用负向先行断言 (?!),并在括号内的 ! 后面添加 PM,从而只匹配没有 PM 的数值。

      Date: 4 Aug 3PM

      result : \d+(?!PM)

image-20240620142840476

image-20240620142951984

image-20240620143009261

image-20240620143024974

习题库:

Regex 101 - ZH-CN

课程 10:开始与结束 | RegexOne 中文 - 通过简单的交互式练习来学习正则表达式

在数据库中可以使用修改数据:`

UPDATE `b_basic_data` SET `longitude` = NULL WHERE `longitude` NOT REGEXP '^[0-9]+[.]?[0-9]*$';

`

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值