正则表达式 Pattern

前端之家收集整理的这篇文章主要介绍了正则表达式 Pattern前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
匹配任意一个字符 $ 匹配一行的结尾 ^ 匹配一行的开头(在[]里面表示否定) 

{} 定义了一个范围  [] 定义了一个字符类 () 定义了一个组 

*前面出现0次以上 + 前面匹配一次以上 ?前面出现0次或一次   

\ 后面的字符不会看作Metacharacter \w 字母数字下划线 \W 非字母数字下划线 

\d 单个数字 \D单个非数字 | 或,二者之一 &&与操作符 \b单词边界



     Pattern pattern = Pattern.compile("\\{(.+?)\\}+?",Pattern.CASE_INSENSITIVE);
            Matcher matcher = pattern.matcher(str);


===================================================================================
/\{\{(.+?)\}\}/g
 
最前面的“/”与最后面的“/”是分隔符,表示正则表达式的开始与结束。
 
最后的“g”标志表示正则表达式使用的global(全局)的状态。使用 global 标志表明在被查找的字符串中搜索操作将查找所有符合的项,而不仅仅是第一个。这也被称为全局匹配。【相关的标志还有i(ignoreCase,表示忽略大小写)、m(multiline,表示允许跨行)】
 
然后我们再来看中间的主体部分:\{\{(.+?)\}\}花括号{}是正则里的限定符。但是我们这里是要找字符串里的花括号,所以前面加个“\”来表示是要找字符的花括号。“\{\{”“\}\}”就是找前后两组花括号。
 
“.”表示任意字符。“+”表示前面表达式一次乃至多次。“?”表示匹配模式是非贪婪的。
 
/\{\{(.+?)\}\}/g完整的意思就是:在全部范围内查找匹配前后有两组花括号的字符串。
 
例如:“{{}}”、“{{asdfasdfasdf56745}}”、“{{yuyuy#$%8787 9+_)(*)87 }}”
原文链接:https://www.f2er.com/regex/360209.html

猜你在找的正则表达式相关文章