Java 正则表达式问题
1.以"WS"开头,第5个单词为SIGMET,单词间以空格或者回车换行区分2.以(开头,后面第10到15个字符为NOTAMN或NOTAMC或NOTAMR Java 正则表达式 --------------------编程问答--------------------
--------------------编程问答--------------------
//1.以"WS"开头,第5个单词为SIGMET,单词间以空格或者回车换行区分//涉及单词分割,没用正则式
String str1 = "WSddd aa ddd aaa SIGMET 223";
if(null != str1&&str1.startsWith("WS")){
String[] strArr = str1.split("\\s");
if(strArr.length >= 5&&strArr[4].equals("SIGMET"))
{
System.out.println("Str1 匹配!");
}
}
//2.以(开头,后面第10到15个字符为NOTAMN或NOTAMC或NOTAMR
String str2 = "(aaaa3 aaaNOTAMR)";
Pattern p2 = Pattern.compile("\\(.{9}NOTAM(N|C|R)");
Matcher m = p2.matcher(str2);
while (m.find())
{
System.out.println(m.group());
}
谢谢哥们,其实我想要的是两个正则表达式 --------------------编程问答-------------------- 第二个正则式应该符合要求吧?第一个想了下,这样应该可以:
//1.以"WS"开头,第5个单词为SIGMET,单词间以空格或者回车换行区分
String str1 = "WS222 aa ddd aaa SIGMET 223";
Pattern p1 = Pattern.compile("WS\\w*\\s+(\\w+\\s+){3}SIGMET($|\\s+.*)");
Matcher m1 = p1.matcher(str1);
while (m1.find())
{
System.out.println(m1.group());
}
补充:Java , Java相关