正则表达式 任意字符
来源:百度知道 编辑:UC知道 时间:2024/05/10 08:42:23
.*表示任意字符串。
其中.表示的范围是什么?包括全角字符吗?
如果想表示任意字符。所有的半角全角 应该怎么写?
我也认为是这样 .*代表任意字符
写了一条正则: ^.*[^a][^b][^c]$
结果是 “张三李四” 这样的字符串不符合。
如果是“ADDD”就符合。 jdk1.5meiwenti
jdk1.4不行
其中.表示的范围是什么?包括全角字符吗?
如果想表示任意字符。所有的半角全角 应该怎么写?
我也认为是这样 .*代表任意字符
写了一条正则: ^.*[^a][^b][^c]$
结果是 “张三李四” 这样的字符串不符合。
如果是“ADDD”就符合。 jdk1.5meiwenti
jdk1.4不行
.*匹配除 \n 以外的任何字符。
/[\u4E00-\u9FA5]/ 汉字
/[\uFF00-\uFFFF]/ 全角符号
/[\u0000-\u00FF]/ 半角符号
改进后的正则应该为:/([^a][\S]{2}|[\S][^b][\S]|[\S]{2}[^c])$/,最后三位数以外的字符,默认是任意字符,而且只要其结尾不为abc,则全部都能匹配。
拓展资料
最开始以为.* 可以匹配任意字符,后来发现有问题,匹配不了换行符\n
查了下资料,用[\s\S]*匹配可以
解释:\s空白符,\S非空白符,所以[\s\S]是任意字符
参考资料:csdn博客
.匹配除换行符以外的任意字符
*重复零次或更多次
所以是包括所有的半角全角的
经过测试
^.*[^a][^b][^c]$ “张三李四”也符合的
.*匹