正则表达式 任意字符

来源:百度知道 编辑:UC知道 时间:2024/05/10 08:42:23
.*表示任意字符串。
其中.表示的范围是什么?包括全角字符吗?
如果想表示任意字符。所有的半角全角 应该怎么写?
我也认为是这样 .*代表任意字符

写了一条正则: ^.*[^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]$ “张三李四”也符合的

.*匹