Regex 锚点,环视
1.锚点------不会匹配任何具体的字符,而只能匹配特定的位置。(边界匹配器)
作用:规定匹配的位置
形式:\b单词分界符锚点
功能是:在\b的一侧出现单词字符,在\b的另一侧不出现单词字符
2.单词分界符注意事项
a.\b表示单词分界符,要求一侧是单词字符,另一侧是非单词字符。
b.单词字符通常是指的是英文字符、数字字符,对中文不适用
c.非单词字符通常指的是各种标点符号和空白字符。
3.^------匹配一行的开头(有可能变化)------标准情况等价于\A
$------匹配一行的末尾(有可能变化)------标准情况等价于\Z
\A-----匹配整个字符串的开头
\z-----匹配整个字符串的末尾
4.环视
a.锚点对位置的判断不够灵活。
b.作用:应用子表达式对位置进行判断。
c.形式:形式(...代表子表达式) 名称 匹配意义
(?=...)------ 肯定顺序环视 右侧文本能由子表达式匹配
(?!...)------ 否定顺序环视 右侧文本不能由子表达式匹配
(?<=...)------ 肯定逆序环视 左侧文本能由子表达式匹配
(?<!...)----- 否定逆序环视 左侧文本不能由子表达式匹配。
/** * 给数值字符串插入","格式化数值字符串 * */public class LookAroundReplace {public static void main(String[] args) {String[] numbers = new String[] { "123456", "1234567890" };String regex = "(?<=\\d)(?=(\\d{3})+(?!\\d))";for (String number : numbers) {System.out.println("Before processing:\t" + number);System.out.println("After processing:\t"+ number.replaceAll(regex, ","));}}}