正则表达式已经不是陌生的话题了,无论是在Java 中还是在JS中都会用到正则表达式,尤其是在搜索引擎中的数据分析用到的最广泛。
@H_404_9@先简单的介绍一些表达式:
1、元字符 | 2、数量 |
. :匹配除换行符以外的任意字符: \w:匹配字母或数字或下划线或汉字 \s :匹配任意的空白符\d:匹配数字: \b:匹配单词的开始或结束^:匹配字符串的开始: $:匹配字符串的结束 |
* :重复零次或更多次 + :重复一次或更多次 @H_404_9@? :重复零次或一次 {n} :重复n次 {n,} :重复n次或更多次 查找匹配需要分组用到group: matcher.group(n) ps : 转义字符 需要注意。 这只是一些简单的字符。可以参考入门链接 http://deerchao.net/tutorials/regex/regex.htm
下面来简单的介绍一下用法: 1、.matches()匹配: 匹配字符串中含有什么 (1)String.matches( regex ); (2)matcher.matches( regex ); 2、.find() 查找:查找想要的东西 一般: Pattern pattern = Pattern.compile( regex ); Matcher matcher = pattern.matcher( string ); if( matcher.find()){ String result = matcher.group(n); } ……
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Tr2 { public static void test() { Pattern pattern; Pattern pattern1; Matcher matcher; String floatStr = "100.22"; String floatStr2 = "100.22222"; System.out.println(floatStr.matches("^\\d+\\.\\d{2}")); System.out.println(floatStr.matches("^\\d+\\.\\d{2}$")); System.out.println(floatStr2.matches("^\\d+\\.\\d{2}$")); pattern = Pattern.compile("^\\d+\\.\\d{2}$"); matcher = pattern.matcher(floatStr); if (matcher.matches()) { System.out.println("yes"); } else { System.out.println("NO"); } String str = "<li><a href=\"www.baidu.com/category/1\">编程</a></li>"; pattern = Pattern.compile("\"(\\w+)\""); matcher = pattern.matcher(str); if (matcher.find()) { String result = matcher.group(1); System.out.println(result); } pattern1 = Pattern.compile("\"(.*?)\""); matcher = pattern1.matcher(str); if (matcher.find()) { String result = matcher.group(1); System.out.println(result); } } public static void main(String[] args) { test(); } }
简单的暂时是这样了,其实正则表达式很有用处,自己可以进一步拓展…… 猜你在找的正则表达式相关文章 |