正则表达式匹配任意字符(包括换行符)

2023-04-10  本文已影响0人  很好就这样吧
<Form form={form} layout="vertical">
          <Form.Item name="id" label="id" hidden>
            <Input />
          </Form.Item>
          <Form.Item
            name="name"
            label="分组名称"
            rules={[
              {
                required: true,
                message: '支持汉字、字母、数字,2-20个字',
                pattern: /^[a-zA-Z0-9\u4E00-\u9FA5]{2,20}$/,
              },
            ]}
          >
            <Input />
          </Form.Item>
          <Form.Item
            name="scene"
            label="使用场景"
            rules={[
              {
                required: true,
                message: '请输入10-200个字符',
                pattern: /^[\s\S]{10,200}$/,
              },
            ]}
          >
            <TextArea rows={4} maxLength={200} showCount />
          </Form.Item>
        </Form>

正则表达式中,“.”(点符号)匹配的是除了换行符“\n”以外的所有字符。但有时候我们需要匹配包括换行符在内的字符,经过一番搜索,发现了几种正则表达式匹配任意字符(包括换行符)的方法。

可以用 ([\s\S]) ,也可以用 “([\d\D])”、“([\w\W]*)” 来匹配,就可以匹配包括换行符在内的任意字符。

下面是正则表达式元字符介绍

“^” :^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。

” :会匹配行或字符串的结尾

而且被匹配的字符必须是以This开头有空格也不行,必须以Regex结尾,也不能有空格与其它字符

“\b” :不会消耗任何字符只匹配一个位置,常用于匹配单词边界 如 我想从字符串中“This is Regex”匹配单独的单词 “is” 正则就要写成 “\bis\b”

“\d”: 匹配数字,

例如要匹配一个固定格式的电话号码以0开头前4位后7位,如0737-5686123 正则:^0\d\d\d-\d\d\d\d\d\d\d$ 这里只是为了介绍“\d”字符,实际上有更好的写法会在 下面介绍。

“\w”:匹配字母,数字,下划线。

例如我要匹配“a2345BCD__TTz” 正则:“\w+” 这里的“+”字符为一个量词指重复的次数,稍后会详细介绍。

“\s”:匹配空格

例如字符 “a b c” 正则:“\w\s\w\s\w” 一个字符后跟一个空格,如有字符间有多个空格直接把“\s” 写成 “\s+” 让空格重复

“.”:匹配除了换行符以外的任何字符

这个算是“\w”的加强版了“\w”不能匹配 空格 如果把字符串加上空格用“\w”就受限了,看下用 “.”是如何匹配字符“a23 4 5 B C D__TTz” 正则:“.+”

上一篇下一篇

猜你喜欢

热点阅读