package com.test;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter pattern:");
String patternStr = in.nextLine();
Pattern pattern = null;
try {
pattern = Pattern.compile(patternStr);
} catch (Exception e) {
System.err.println("pattern syntax error");
System.exit(1);
}
while(true){
System.out.println("Enter String to math:");
String input = in.nextLine();
if(null == input || input.equals("")) return;
Matcher matcher = pattern.matcher(input);
if(matcher.matches()){
System.out.println("Match");
int g = matcher.groupCount();
if(g > 0 ){
for (int i = 0; i < input.length(); i++) {
for (int j = 1; j <= g; j++) {
if(i == matcher.start()){
System.out.println("(");
}
System.out.println(input.charAt(i));
}
for (int j = 1; j <= g; j++) {
if(i == matcher.end()){
System.out.println(")");
}
System.out.println(input.charAt(i));
}
}
}
} else {
System.out.println("no match");
}
}
}
}
分享到:
相关推荐
Now with the second edition, readers will find information on key new topics such as neural networks and statistical pattern recognition, the theory of machine learning, and the theory of invariances...
pattern简单的小例子,parrtern编译正则,对字符串进行劈串,仅供参考
以下是一个简单的例子,展示了如何使用`Pattern`和`Matcher`进行匹配和替换操作: ```java import java.util.regex.*; public class Main { public static void main(String[] args) { String regex = "\\d+"; ...
在上述例子中,我们可以使用Matcher的方法来查找和处理数字: ```java while (matcher.find()) { System.out.println("找到的数字: " + matcher.group()); } ``` 关于正则表达式的语法,Java遵循Perl风格,支持...
虽然无法直接查看具体内容,但可以推测这是一篇关于Servlet URL-Pattern实际应用或解释的文章,可能包括了如何配置和使用URL-Pattern的例子,以及在实际开发中如何选择合适的匹配策略。 在`WebTest`这个压缩包文件...
在这个例子中,`:userId`和`:bookId`是动态占位符,代表实际运行时可变的值。`route-pattern`会根据这些规则解析URL,提取出动态参数,为处理不同请求提供便利。 2. **安装与引入** 在JavaScript项目中,你可以...
让我们看一个更复杂的例子,其中我们使用Matcher的find方法来查找字符串中的所有数字: ```java String input = "The price is $123.45 and the ISBN number is 978-1-2345-6789-0."; Pattern p = Pattern.compile...
此外,书中包含了大量的实际例子和习题,有助于读者将理论知识应用到实践中。 "PRML"是"Pattern Recognition and Machine Learning"的缩写,这本书的一个重要特点是它的数学严谨性和实用性相结合。Bishop教授采用...
- 在这个例子中,`/test/list.do`被用来映射到名为`testServlet`的Servlet上。 - 当客户端发送请求时,如果请求的URL与`/test/list.do`完全匹配,则会调用该Servlet处理请求。 - 这种方式适合于对某个特定URL进行...
在这个例子中,`WeatherService`作为具体的主题,`UIUpdater`是观察者。当天气数据发生变化时,`WeatherService`会通知所有注册的观察者,包括`UIUpdater`,后者会更新用户界面。 此外,`Weather.java`也可能涉及...
【标题】中的“Flexible ASP.NET Web Part UI Pattern”是一个关键的设计模式,它在ASP.NET框架中用于构建可扩展和交互式的Web用户界面。这个模式允许开发者将网站的不同部分(Web部件)组合在一起,以创建高度定制...
宾格grep的一个小实用程序,用于在内存转储或实时进程内存中获取指针和二进制数据。用法Exactly one of -f or -p ... -i specifies the number of dereferences beforetrying to match the pattern例子: $ ./bingrep -
在软件工程领域,设计模式是一种在特定情境下解决常见问题的经验总结,被广泛应用于...通过学习这个例子,你可以掌握如何定义产品接口,创建具体产品,以及如何设计和使用工厂类,这些都是在软件开发中非常重要的技能。
在给定的例子中,`Pattern.compile("[,\\s]+")`编译了一个正则表达式,这个表达式匹配一个或多个逗号(`,`)或空格(`\s`)。然后使用`split()`方法,我们可以基于这个模式将字符串分割成多个子串。在示例中,字符串...
命令模式(Command Pattern)是一种行为设计模式,它将请求封装为一个对象,使得你可以使用不同的请求、队列请求,或者支持可撤销的操作。在Java中实现命令模式,我们可以利用面向对象编程的特性来构建系统,使得...
例如,我们可以使用`vibrate(long[] pattern, int repeat)`方法,其中`pattern`参数是一个包含震动模式的数组,`repeat`参数表示重复模式的索引,若为-1则不重复。 为了实现定时震动,我们可能需要创建一个...
### 状态模式(State Pattern) #### 概念与定义 状态模式是一种行为设计模式,它允许对象在其内部状态改变时改变其行为,使对象看起来像是修改了它的类。该模式通过引入一个代表各种状态的类以及一个行为随着这些...
BuilderPattern.unitypackage是一个建造者模式的例子。
该示例是翻写一老外Observer Pattern的例子,本人觉得该示例是对该模式的非常精典的说明,于是花点功夫来翻写它,因为他的代码没有注释说明该模式的设计思想怎样体现在代码中去,所以,本人结合代码注释了关键代码...