网站空间费1年1200,杭州网站改版公司电话,网站建设好后怎么更新内容,做问卷调查的网站挣钱一、语法
字符说明\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如#xff0c; n匹配字符 n。\n 匹配换行符。序列 \\\\ 匹配 \\ #xff0c;\\( 匹配 (。^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性#xff0c;^ 还会与\n…一、语法
字符说明\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如 n匹配字符 n。\n 匹配换行符。序列 \\\\ 匹配 \\ \\( 匹配 (。^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性^ 还会与\n或\r之后的位置匹配。$匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性$ 还会与\n或\r之前的位置匹配。*零次或多次匹配前面的字符或子表达式。例如zo* 匹配z和zoo。* 等效于 {0,}。一次或多次匹配前面的字符或子表达式。例如zo与zo和zoo匹配但与z不匹配。 等效于 {1,}。?零次或一次匹配前面的字符或子表达式。例如do(es)?“匹配do或does中的do”。? 等效于 {0,1}。{n}_n _是非负整数。正好匹配 n 次。例如o{2}与Bob中的o不匹配但与food中的两个o匹配。{n,}_n _是非负整数。至少匹配 _n _次。例如o{2,}“不匹配Bob中的o”而匹配foooood中的所有 o。o{1,}“等效于o”。o{0,}“等效于o*”。{n,m}m 和 n 是非负整数其中 n m。匹配至少 n 次至多 m 次。例如o{1,3}匹配fooooood中的头三个 o。‘o{0,1}’ 等效于 ‘o?’。注意您不能将空格插入逗号和数字之间。?当此字符紧随任何其他限定符*、、?、{n}、{n,}、{n,m}之后时匹配模式是非贪心的。非贪心的模式匹配搜索到的、尽可能短的字符串而默认的贪心的模式匹配搜索到的、尽可能长的字符串。例如在字符串oooo中o?“只匹配单个o”而o“匹配所有o”。
二、正则实战
1、纯字母
[a-zA-Z]{1,}$2、纯数字
[0-9]{1,}$3、字母和数字组合
((^[a-zA-Z]{1,}[0-9]{1,}[a-zA-Z0-9]*))|((^[0-9]{1,}[a-zA-Z]{1,}[a-zA-Z0-9]*))$4、字母或数字
[a-zA-Z0-9]$5、字母、数字、下划线都可以
\\w$6、字母、数字、特殊符号至少匹配2种
/*** 假定设置密码时密码规则为 字母、数字、特殊符号至少匹配2种* 则密码可能出现的情况有* 1、数字特殊符号* 2、字母特殊符号* 3、字母数字* 4、字母数字特殊符号* (组合与顺序无关)* 解决思路* 1、遍历字符串的字符数组查看是否包含目标特殊字符若包含则标记字符串* 包含特殊字符并替换当前特殊字符为。* 2、判断剩下的字符组成的字符串是否匹配以下情况* - 纯字母* - 纯数字* - 字母数字* 3、字符串匹配规则* 纯字母包含特殊字符 ---- 匹配通过* 纯数字包含特殊字符 ---- 匹配通过* 字母数字包含个数字符 ---- 匹配通过*///特殊字符public static final String SPEC_CHARACTERS !\#$%()*,-./:;?\\]\\[^_{|}~;// 纯字母public static final String character [a-zA-Z]{1,}$;// 纯数字public static final String numberic [0-9]{1,}$;// 字母和数字public static final String number_and_character ((^[a-zA-Z]{1,}[0-9]{1,}[a-zA-Z0-9]*)) |((^[0-9]{1,}[a-zA-Z]{1,}[a-zA-Z0-9]*))$;// 字母或数字public static final String number_or_character [a-zA-Z0-9]$;// 字母数字下划线public static final String ncw \\w$;public static boolean checkPassword(String targetString) {String opStr targetString;boolean isLegal false;boolean hasSpecChar false;char[] charArray opStr.toCharArray();for (char c : charArray) {if (SPEC_CHARACTERS.contains(String.valueOf(c))) {hasSpecChar true;// 替换此字符串opStr opStr.replace(c, );}}String excSpecCharStr opStr.replace( , );boolean isPureNum Pattern.compile(numberic).matcher(excSpecCharStr).matches();boolean isPureChar Pattern.compile(character).matcher(excSpecCharStr).matches();boolean isNumAndChar Pattern.compile(number_and_character).matcher(excSpecCharStr).matches();isLegal ((isPureNum hasSpecChar)|| (isPureChar hasSpecChar) || isNumAndChar hasSpecChar) || isNumAndChar;System.out.println(字符串 targetString ,是否符合规则 isLegal);System.out.println(---------------);return isLegal;}public static void main(String[] args) {checkPassword(fasdagd);checkPassword(41234123);checkPassword(#$%^*();checkPassword(fasd$$);checkPassword(41234%%%);checkPassword(fasd41^(324);checkPassword(fa413%^*);checkPassword(%fa413%^*);}测试结果