近日遇到小测试题,要求把例如“-124abaad>132”类型字符串,转化为“-124”,也就是说截取前部分整数。
重温了正则表达式,我的写法是:"^([-+]?)([0-9]+)(.*)"
把待处理字符串分组,后面用Matcher的gourp(int count)把整数提取出来转型就行。
开始一下代码一直报错:
String p3="^([-+]?)([0-9]+)(.*)";
Pattern pattern=Pattern.compile(p3);
System.out.println(pattern.pattern());
Matcher m=pattern.matcher(s);
// System.out.println(m.matches());
for(int i=0;i<m.groupCount();i++)
System.out.println(m.group(i+1));
错误如下:
Exception in thread "main" java.lang.IllegalStateException: No match found
后来,终于找到原因,把注释行的注释去掉,就正常了。得先matches()一下,才能对字符串进行匹配,开始的matcher(String s)只是用于生成Matcher,并没有进行匹配。
分享到:
相关推荐
在Java中,正则表达式相关的操作主要集中在java.util.regex包中,主要包括两个类:Pattern类与Matcher类。Pattern类用于编译正则表达式模式,而Matcher类则用于对输入字符串进行模式匹配。 Matcher类的group方法是...
在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则表达式功能。PowerBuilder是一款基于对象的快速应用程序开发工具,尤其适合于数据库应用系统的开发。 标题"PB实现的正则表达式"表明...
Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...
在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心类。 **1. Pattern类** Pattern类是Java正则表达式的起点,它将一个正则表达式编译成一个模式对象。这个编译过程可以优化...
Java中的正则表达式主要通过`java.util.regex`包中的类来实现,如`Pattern`和`Matcher`。 在日志处理中,我们通常需要完成以下任务: 1. **过滤日志级别**:日志通常包含不同的级别,如DEBUG、INFO、WARN、ERROR等...
在Java中,正则表达式的使用主要依赖于`java.util.regex`包中的类,如`Pattern`和`Matcher`。 首先,我们来看`Pattern`类。这个类是正则表达式的模板,负责编译和存储正则表达式。一旦正则表达式被编译为`Pattern`...
这份文档可能深入讲解了`Pattern`和`Matcher`类的用法,如`Pattern.compile()`用于编译正则表达式,`Matcher.find()`用于查找字符串中的匹配部分,`Matcher.group()`获取匹配的子串,以及如何使用`Pattern.split()`...
正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于...测试正则表达式的软件是开发者的好帮手,它们提供了一个友好的界面来实践和调试正则表达式,使得这个过程变得更加直观和便捷。
在Java中,正则表达式通常与`Pattern`和`Matcher`两个类一起使用。`Pattern`类用于编译正则表达式,而`Matcher`类则用于执行匹配操作。例如,我们可以这样创建一个`Pattern`对象并进行匹配: ```java String regex ...
`Pattern`类用于编译正则表达式字符串,而`Matcher`类用于执行与字符串的匹配操作。 #### 三、身份证号码的格式规则 1. **长度**:15位或18位。 2. **前17位**:均为数字。 3. **第18位**: - 对于18位身份证号码...
Java提供了`java.util.regex`包,通过`Pattern`和`Matcher`类支持正则表达式。以下是如何在Java中验证电话号码的一个例子: ```java import java.util.regex.Pattern; import java.util.regex.Matcher; String...
该工具类使用了`java.util.regex`包中的`Pattern`和`Matcher`类来完成正则表达式的编译和匹配工作。以下是几个重要的方法说明: - `isPositiveInteger`:验证是否为正整数。 - `isNegativeInteger`:验证是否为负...
在Java中,可以使用`java.util.regex`包中的`Pattern`和`Matcher`类来编译和执行正则表达式。例如,`Pattern.compile()`用于编译正则表达式,`Matcher.find()`用于在文本中查找匹配项,`Matcher.group()`则用于获取...
- 例如,可以使用正则表达式检查输入的IP地址是否符合规范,从网页文本中提取电子邮件地址或者超链接。 2. **核心类** - `java.lang.String`:提供了`matches()`方法,可以直接对字符串进行正则匹配。 - `java....
10. **编程语言支持**:大多数编程语言都内置了正则表达式支持,如Java(Test.java中的例子可能涉及Java的`Pattern`和`Matcher`类),Python的`re`模块,JavaScript的`match`、`replace`等方法。 11. **优化技巧**...
接着,定义了一个名为`SocialSecurityNumberValidator`的类,在主方法中使用`Pattern.compile`编译正则表达式,并使用`matcher.matches`来检查字符串是否与给定的模式匹配。 通过上述知识点的学习,读者可以了解到...
`regex-smart.jar`这个库显然是为了简化开发者在Java项目中使用正则表达式的流程,它提供了一系列内置的验证、提取和清洗方法,使得处理字符串变得更加高效和便捷。 首先,让我们了解一下正则表达式的基础概念。...
3. Pattern和Matcher类的使用:在java中,Pattern类和Matcher类是用于正则表达式匹配的。Pattern类用于编译正则表达式,而Matcher类用于匹配字符串。 4. Pattern.compile()方法:Pattern.compile()方法用于编译正则...
在 Java 中,正则表达式的使用主要依赖于 `java.util.regex` 包中的 `Pattern` 和 `Matcher` 类。 - **`Pattern` 类**:用于编译正则表达式,并提供方法来创建 `Matcher` 对象。 - **`Matcher` 类**:用于执行正则...