使用正则表达式替换任意字符串的后4位为* |
您所在的位置:网站首页 › js获取字符串后四位 › 使用正则表达式替换任意字符串的后4位为* |
正则表达式中,“.”(点符号)匹配的是除了换行符“\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” 正则:“.+”。 注意\w:匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集。 \W:匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。 如果用re.sub(r’[|\W]’, ‘’, text) 会除掉所有的非单词或者下划线"", 如果用re.sub(r’[|\w]’, ‘x’, text),会用‘x’替换所有的’'和单词字符 使用正则表达式替换任意字符串的后4位为* public class Test { public static void main(String [] args){ String tel = "18erwrew中rewrewrew7中国rewrew5rewrewrew3993erwrewrew++++###@@!rew25中国中国uuu国中"; tel = tel.replaceAll("([\\w\\W]*)([\\w\\W]{4})", "$1****"); System.out.print(tel); } } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |