java代码里正则 java正则表达式用法

Java中怎么简单的使用正则表达式一个正则表达式就是由普通字符(例如大小写字母)以及特殊字符(称为元字符)组成的文字模式 。该模式描述在查找文字主体时待匹配的一个或多个字符串 。正则表达式作为一个模板 , 将某个字符模式与所搜索的字符串进行匹配 。
在最简单的情况下 , 一个正则表达式看上去就是一个普通的查找串 。例如 , 正则表达式"java"中没有包含任何元字符,它可以匹配"java"和"javascript"等字符串 , 但是不能匹配"Java" 。
正则表达式不仅能进行字符串的匹配,还能进行字符串的提取、替换 。
示例代码:
String regEx = ". /(. )$";
String str = "D:/java/test.txt";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
if (!m.find()){
【java代码里正则 java正则表达式用法】System.out.println("文件路径格式错误!");
return;
}
System.out.println(m.group(1));
运行结果:test.txt
正则表达式“. /(. )$”的含义就是:被匹配的字符串以任意字符序列开始 , 后边紧跟着字符“/”,最后以任意字符序列结尾,“()”代表分组操作 , 这里就是把文件名做为分组,匹配完毕就可以通过Matcher 类的group方法取到所定义的分组了 。需要注意的这里的分组的索引值是从1开始的,所以取第一个分组的方法是m.group(1)而不是m.group(0) 。
怎么在java代码中写正则表达式?jdk1.4推出java.util.regex包,为我们提供了很好的JAVA正则表达式应用平台 。
Test.java
-------------------------------------------------------------------------------------------------------
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
//简单认识正则表达式的概念
/*
p("abc".matches("..."));
p("a8729a".replaceAll("\\d", "-"));
Pattern p = Pattern.compile("[a-z]{3}");
Matcher m = p.matcher("fgh");
p(m.matches());
p("fgha".matches("[a-z]{3}"));
*/
java正则表达式是什么?java正则表达式是计算机科学的一个概念 。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串 。
在编写处理字符串的程序或网页时java代码里正则,经常会有查找符合某些复杂规则的字符串的需要 。正则表达式就是用于描述这些规则的工具 。换句话说java代码里正则,正则表达式就是记录文本规则的代码 。
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和? 。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc 。在这里,*会被解释成任意的字符串 。
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然 , 代价就是更复杂——比如你可以编写一个正则表达式 , 用来查找所有以0开头,后面跟着2-3个数字 , 然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321) 。
正则表达式的基本操作:
正则表达式定义:符合一定规则的表达式 。
作用:用于专门操作字符串 。
特点:用于一些特定的符号来表示一些代码操作 。这样就简化书写 。所以学习正则表达式,就是在学习一些特殊符号的使用 。
好处:可以简化对字符串的复杂操作 。
弊端:符号定义越多,正则越长,阅读性越差 。
Java常用的几个正则方法JAVA中正则表达式处理字符串的四个常用方法:匹配、分割、替换、截取 。其跟字符串的常用函数相似 , 但是使用正则表达式会更简单、更加简洁 。下面是具体的例子:
1 public class TestRegex {
2
3 public static void main(String[] args) {
4 String str = "";
5 String regex = "";
6
7 // 匹配
8 regex = "[1-9][a-z]";
9 getMatches(str, regex);
10
11 // 分割
12 str = "1a:abc123:";
13 regex = ":";
14 getSpilt(str, regex);
15
16 // 替换
17 str = "1223334444aaabbc";
18 String oldChar = "(.)\\1 ";
19 regex = "$1";
20 getReplace(str, oldChar, regex);
21
22 // 截取
23 str = "urlabc123";
24 regex = "(.*)";
25 getSubstring(str, regex);
26
27 }
28
29 public static void getMatches(String str, String regex) {
30 System.out.println(str.matches(regex));
31 }
32
33 public static void getSpilt(String str, String regex) {
34 String[] array = str.split(regex);
35 for (String t : array) {
36 System.out.println(t);
37 }
38 }
39
40 public static void getReplace(String str, String oldChar, String regex)
{
41 System.out.println(str.replaceAll(oldChar, regex));
42 }
43
44 public static void getSubstring(String str, String regex) {
45 Pattern p = Pattern.compile(regex);
46 Matcher m = p.matcher(str);
47 if (m.find()) {
48 System.out.println(m.group(1));
49 }
50 }
51 }
java正则表达式怎么书写?正则表达式 , 又称规则表达式 。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念 。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本 。
下面介绍具体的方法 。
1、步骤一: 新建一个工程和类
我们在这个类中开发相关的代码,先看看 java.util.regex 这个包吧 。
2、步骤二 : 类 Pattern 的使用
类Pattern , 其一个对象就代表一种指定的正则表达式,我们通过这个类和一些正则表达式的规则来生成自己想要的字符串匹配规则!
这个类,你无法通过 new 来创建对象 , 其提供了一个静态方法 compile("正则规则串")来创建对象,比如我们想要一个以 "java" 开头的字符串匹配规则,我们会用如下代码 Pattern 对象 :
Pattern pattern = Pattern.compile("^java");
注意 : ^ 这个符号是正则表达式中的规则 , 表示字符串的开头!关于其他规则,我们后面会有相关经验给大家逐一介绍!
3、步骤三 : 类 Matcher 的使用
类 Matcher,代表一个串在特定Pattern对象下的匹配结果,我们通过这个结果可以知道这个串是否符合我们的要求 (我们的具体要求在 Pattern 对象中体现?。?。使用方法为 :
// 先构建一个特定的 Pattern 对象
Pattern pattern = Pattern.compile("^java");
// 调用 Pattern 对象的 matcher 方法 , 传入一个串,得到匹配结果!
Matcher matcher = javaPrefixPattern.matcher("一个字符串");
4、步骤四 : 测试和总结
运行代码,查看程序运行效果!正则表达式的整个使用框架就是这样,其不同的应用场景基本就是不同的匹配规则!
总结 :正则表达式的彪悍 , 主要在于其很多成熟的规范的语义规则,通过这些规则的灵活使用,我们可以把一种复杂的匹配需求用一个规则串表达出来!
java代码里正则的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于java正则表达式用法、java代码里正则的信息别忘了在本站进行查找喔 。

    推荐阅读