简体   繁体   中英

Regular expression for comma separated string

I am trying to create a pattern in Java that matches the following string;

String message ="%%140911,A,140929100526,S0117.6262E03647.8107,000,067,F100,4F000100,108";

The pattern I have formed is not matching the string. What am I missing? Ihis is my pattern what I tried so far:

private static final Pattern pattern = Pattern.compile(

       "(\\%\\%)"+"(\\d)," + // Id 
       "([AL])," + // Validity a for valid and l for invalid
       "(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})," + // Date (YYMMDD)Time (HHMMSS)
       "([NS])" + "(\\d{2})(\\d{2}\\.\\d+)" + "([EW])" + "(\\d{3})(\\d{2}\\.\\d+)," + //loc 
       "(\\d+)," + // Speed
       "(\\d+)," + // Direction
       "([FC])" + "(\\d{3})," + // temperature in Fahrenheit/celsius
       "(\\w{8})," + // status
       "(\\d+)"); // event

You're missing + in first line. Try changing

"(\\%\\%)"+"(\\d),"

to

"(\\%\\%)"+"(\\d+),"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM