如何从文本中提取自己想要的内容呢?可以通过
    正则表达式实现这一目的。
    image.png

    正则表达式的常用操作符

    操作符 说明 示例
    . 表示任意单个字符
    [ ] 字符集,对单个字符给出取值范围 [abc]表示a、b、c;[a-c]表示a到z的单个字符
    [^ ] 非字符集,对单个字符给出排除范围 [abc]表示非a或非b非c
    * 前一个字符0次或无限次扩展 abc*表示ab、abc、abcc、…
    + 前一个字符1次或无限次扩展 abc+表示abc、abcc、abccc、…
    ? 前一个字符0次或1次扩展 abc?表示ab、abc
    | 左右表达式任意一个 ab|df表示ab、df
    {m} 扩展前一个字符m次 ab{2}c表示abbc
    {m,n} 扩展前一个字符m至n次(包括n次) ab{1,3}c表示abc、abbc、abbbc
    ^ 匹配字符串开头 ^abc表示abc且在一个字符串的开头
    $ 匹配字符串的结尾 abc$表示abc且在一个字符串的结尾
    ( ) 分组标记,内部只能使用 | 操作符 (abc)表示abc,(ab|df)表示ab、df
    \d 数字,等价于[0-9]
    \w 单词字符,等价于[A-Za-z0-9_]

    经典的正则表达式

    ^[A-Za-z]+$ 由26个字母组成的字符串
    ^[A-Za-z0-9]+$ 由26个字母和数字组成的字符串
    ^-?\d+$ 整数形式的字符串
    ^[0-9][1-9][0-9]$ 正整数形式的字符串
    [1-9]\d{5} 中国境内邮政编码
    [\u4e00-\u9fa5] 匹配中文字符
    \d{3}-\d{8}|d{4}-\d{7} 国内固定电话号码

    实际场景表达
    1.物流单号

    • 明确物流单号位数,如111111123444,有12位,可以表达为\d{12}

    2.截取一段文本

    • 从文本中截取自己想要的东西,如:中通快递:1234563456,只需要快递公司名称,可以表达为:.+(?=:)(即冒号前面的内容)。