Java Code Examples for java.util.regex.Matcher#regionEnd()
The following examples show how to use
java.util.regex.Matcher#regionEnd() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MatchProcessor.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
RuleParser(String rule) { Matcher m = tokenizer.matcher(rule); List<String> list = new ArrayList<>(); int end = 0; while (m.lookingAt()) { list.add(m.group(1)); end = m.end(); m.region(m.end(), m.regionEnd()); } if (end != m.regionEnd()) { throw new RuleParseError("Unexpected tokens :" + rule.substring(m.end(), m.regionEnd())); } tokens = list.toArray(new String[0]); matchDescriptor = parseExpression(); if (!done()) { throw new RuleParseError("didn't consume all tokens"); } capturedNames.add(0, "root"); capturedTypes.add(0, matchDescriptor.nodeType); }
Example 2
Source File: FastDateParser.java From beihu-boot with Apache License 2.0 | 5 votes |
private void init(Calendar definingCalendar) { final StringBuilder regex = new StringBuilder(); final List<Strategy> collector = new ArrayList<Strategy>(); final Matcher patternMatcher = formatPattern.matcher(pattern); if (!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField = patternMatcher.group(); Strategy currentStrategy = getStrategy(currentFormatField, definingCalendar); for (; ; ) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if (!patternMatcher.lookingAt()) { nextStrategy = null; break; } final String nextFormatField = patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = nextFormatField; currentStrategy = nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \"" + pattern + "\" ; gave up at index " + patternMatcher.regionStart()); } if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = null; strategies = collector.toArray(new Strategy[collector.size()]); parsePattern = Pattern.compile(regex.toString()); }
Example 3
Source File: FastDateParser.java From TelePlus-Android with GNU General Public License v2.0 | 5 votes |
/** * Initialize derived fields from defining fields. * This is called from constructor and from readObject (de-serialization) * * @param definingCalendar the {@link java.util.Calendar} instance used to initialize this FastDateParser */ private void init(Calendar definingCalendar) { final StringBuilder regex = new StringBuilder(); final List<Strategy> collector = new ArrayList<Strategy>(); final Matcher patternMatcher = formatPattern.matcher(pattern); if (!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField = patternMatcher.group(); Strategy currentStrategy = getStrategy(currentFormatField, definingCalendar); for (; ; ) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if (!patternMatcher.lookingAt()) { nextStrategy = null; break; } final String nextFormatField = patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = nextFormatField; currentStrategy = nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \"" + pattern + "\" ; gave up at index " + patternMatcher.regionStart()); } if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = null; strategies = collector.toArray(new Strategy[collector.size()]); parsePattern = Pattern.compile(regex.toString()); }
Example 4
Source File: FastDateParser.java From TelePlus-Android with GNU General Public License v2.0 | 5 votes |
/** * Initialize derived fields from defining fields. * This is called from constructor and from readObject (de-serialization) * * @param definingCalendar the {@link java.util.Calendar} instance used to initialize this FastDateParser */ private void init(Calendar definingCalendar) { final StringBuilder regex = new StringBuilder(); final List<Strategy> collector = new ArrayList<Strategy>(); final Matcher patternMatcher = formatPattern.matcher(pattern); if (!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField = patternMatcher.group(); Strategy currentStrategy = getStrategy(currentFormatField, definingCalendar); for (; ; ) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if (!patternMatcher.lookingAt()) { nextStrategy = null; break; } final String nextFormatField = patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = nextFormatField; currentStrategy = nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \"" + pattern + "\" ; gave up at index " + patternMatcher.regionStart()); } if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = null; strategies = collector.toArray(new Strategy[collector.size()]); parsePattern = Pattern.compile(regex.toString()); }
Example 5
Source File: Regex.java From PracticeDemo with Apache License 2.0 | 5 votes |
public static void main(String[]args) { String text = "爱的f 123130.33CNY";//16 // Pattern pattern = Pattern.compile("\\d[A-Za-z]");//一个数字一个字母 Pattern pattern = Pattern.compile("\\d"); Matcher matcher = pattern.matcher(text); matcher.regionEnd();//16 while (matcher.find()) { System.out.println(""+matcher.end()); } // System.out.println(""+matcher.end()); // matcher.regionEnd(); }
Example 6
Source File: Lang_9_FastDateParser_t.java From coming with MIT License | 5 votes |
/** * Initialize derived fields from defining fields. * This is called from constructor and from readObject (de-serialization) */ private void init() { thisYear= Calendar.getInstance(timeZone, locale).get(Calendar.YEAR); nameValues= new ConcurrentHashMap<Integer, KeyValue[]>(); StringBuilder regex= new StringBuilder(); List<Strategy> collector = new ArrayList<Strategy>(); Matcher patternMatcher= formatPattern.matcher(pattern); if(!patternMatcher.lookingAt()) { throw new IllegalArgumentException("Invalid pattern"); } currentFormatField= patternMatcher.group(); Strategy currentStrategy= getStrategy(currentFormatField); for(;;) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if(!patternMatcher.lookingAt()) { nextStrategy = null; break; } String nextFormatField= patternMatcher.group(); nextStrategy = getStrategy(nextFormatField); if(currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField= nextFormatField; currentStrategy= nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \""+pattern+"\" ; gave up at index "+patternMatcher.regionStart()); } if(currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField= null; strategies= collector.toArray(new Strategy[collector.size()]); parsePattern= Pattern.compile(regex.toString()); }
Example 7
Source File: FastDateParser.java From astor with GNU General Public License v2.0 | 5 votes |
/** * Initialize derived fields from defining fields. * This is called from constructor and from readObject (de-serialization) */ private void init() { Calendar definingCalendar = Calendar.getInstance(timeZone, locale); thisYear= definingCalendar.get(Calendar.YEAR); StringBuilder regex= new StringBuilder(); List<Strategy> collector = new ArrayList<Strategy>(); Matcher patternMatcher= formatPattern.matcher(pattern); if(!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField= patternMatcher.group(); Strategy currentStrategy= getStrategy(currentFormatField, definingCalendar); for(;;) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if(!patternMatcher.lookingAt()) { nextStrategy = null; break; } String nextFormatField= patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if(currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField= nextFormatField; currentStrategy= nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \""+pattern+"\" ; gave up at index "+patternMatcher.regionStart()); } if(currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField= null; strategies= collector.toArray(new Strategy[collector.size()]); parsePattern= Pattern.compile(regex.toString()); }
Example 8
Source File: FastDateParser.java From astor with GNU General Public License v2.0 | 5 votes |
/** * Initialize derived fields from defining fields. * This is called from constructor and from readObject (de-serialization) */ private void init() { final Calendar definingCalendar = Calendar.getInstance(timeZone, locale); thisYear= definingCalendar.get(Calendar.YEAR); final StringBuilder regex= new StringBuilder(); final List<Strategy> collector = new ArrayList<Strategy>(); final Matcher patternMatcher= formatPattern.matcher(pattern); if(!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField= patternMatcher.group(); Strategy currentStrategy= getStrategy(currentFormatField, definingCalendar); for(;;) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if(!patternMatcher.lookingAt()) { nextStrategy = null; break; } final String nextFormatField= patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if(currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField= nextFormatField; currentStrategy= nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \""+pattern+"\" ; gave up at index "+patternMatcher.regionStart()); } if(currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField= null; strategies= collector.toArray(new Strategy[collector.size()]); parsePattern= Pattern.compile(regex.toString()); }
Example 9
Source File: FastDateParser.java From astor with GNU General Public License v2.0 | 5 votes |
/** * Initialize derived fields from defining fields. * This is called from constructor and from readObject (de-serialization) */ private void init() { Calendar definingCalendar = Calendar.getInstance(timeZone, locale); thisYear= definingCalendar.get(Calendar.YEAR); StringBuilder regex= new StringBuilder(); List<Strategy> collector = new ArrayList<Strategy>(); Matcher patternMatcher= formatPattern.matcher(pattern); if(!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField= patternMatcher.group(); Strategy currentStrategy= getStrategy(currentFormatField, definingCalendar); for(;;) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if(!patternMatcher.lookingAt()) { nextStrategy = null; break; } String nextFormatField= patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if(currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField= nextFormatField; currentStrategy= nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \""+pattern+"\" ; gave up at index "+patternMatcher.regionStart()); } if(currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField= null; strategies= collector.toArray(new Strategy[collector.size()]); parsePattern= Pattern.compile(regex.toString()); }
Example 10
Source File: FastDateParser.java From light-task-scheduler with Apache License 2.0 | 5 votes |
private void init(Calendar definingCalendar) { final StringBuilder regex = new StringBuilder(); final List<Strategy> collector = new ArrayList<Strategy>(); final Matcher patternMatcher = formatPattern.matcher(pattern); if (!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField = patternMatcher.group(); Strategy currentStrategy = getStrategy(currentFormatField, definingCalendar); for (; ; ) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if (!patternMatcher.lookingAt()) { nextStrategy = null; break; } final String nextFormatField = patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = nextFormatField; currentStrategy = nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \"" + pattern + "\" ; gave up at index " + patternMatcher.regionStart()); } if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = null; strategies = collector.toArray(new Strategy[collector.size()]); parsePattern = Pattern.compile(regex.toString()); }
Example 11
Source File: FastDateParser.java From Telegram-FOSS with GNU General Public License v2.0 | 5 votes |
/** * Initialize derived fields from defining fields. * This is called from constructor and from readObject (de-serialization) * * @param definingCalendar the {@link java.util.Calendar} instance used to initialize this FastDateParser */ private void init(Calendar definingCalendar) { final StringBuilder regex = new StringBuilder(); final List<Strategy> collector = new ArrayList<Strategy>(); final Matcher patternMatcher = formatPattern.matcher(pattern); if (!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField = patternMatcher.group(); Strategy currentStrategy = getStrategy(currentFormatField, definingCalendar); for (; ; ) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if (!patternMatcher.lookingAt()) { nextStrategy = null; break; } final String nextFormatField = patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = nextFormatField; currentStrategy = nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \"" + pattern + "\" ; gave up at index " + patternMatcher.regionStart()); } if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = null; strategies = collector.toArray(new Strategy[collector.size()]); parsePattern = Pattern.compile(regex.toString()); }
Example 12
Source File: AlignmentPredictionModel.java From bluima with Apache License 2.0 | 5 votes |
protected List<Acronym> extractHeadNounPattern_3Parts(String text) { ArrayList<Acronym> extractedPairs = new ArrayList<Acronym>(); String nounExp = "([a-zA-Z0-9\\-]{1,20})"; String shortFormExp = "\\(([^\\(]*?)\\)"; Matcher matcher = Pattern.compile( nounExp + " " + nounExp + " " + shortFormExp + ",? " + nounExp + " " + shortFormExp + ",? and " + nounExp + " " + shortFormExp).matcher(text); int startPos = 0; while (startPos < text.length() && matcher.find(startPos)) { String mainNoun = matcher.group(1); String part1 = matcher.group(2); String part1_short = matcher.group(3); String part2 = matcher.group(4); String part2_short = matcher.group(5); String part3 = matcher.group(6); String part3_short = matcher.group(7); startPos = matcher.regionEnd() + 1; addCandidatePair(extractedPairs, mainNoun + " " + part1, part1_short, startPos); addCandidatePair(extractedPairs, mainNoun + " " + part2, part2_short, startPos); addCandidatePair(extractedPairs, mainNoun + " " + part3, part3_short, startPos); } return extractedPairs; }
Example 13
Source File: AlignmentPredictionModel.java From bluima with Apache License 2.0 | 5 votes |
protected List<Acronym> extractHeadNounPattern_2Parts(String text) { ArrayList<Acronym> extractedPairs = new ArrayList<Acronym>(); String nounExp = "([a-zA-Z0-9\\-]{1,20})"; String shortFormExp = "\\(([^\\(]*?)\\)"; Matcher matcher = Pattern.compile( nounExp + " " + nounExp + " " + shortFormExp + ",? and " + nounExp + " " + shortFormExp).matcher(text); int startPos = 0; while (startPos < text.length() && matcher.find(startPos)) { String mainNoun = matcher.group(1); String part1 = matcher.group(2); String part1_short = matcher.group(3); String part2 = matcher.group(4); String part2_short = matcher.group(5); startPos = matcher.regionEnd() + 1; addCandidatePair(extractedPairs, mainNoun + " " + part1, part1_short, startPos); addCandidatePair(extractedPairs, mainNoun + " " + part2, part2_short, startPos); } return extractedPairs; }
Example 14
Source File: AlignmentPredictionModel.java From bluima with Apache License 2.0 | 5 votes |
protected List<Acronym> extractTrailingNounPattern_3Parts(String text) { ArrayList<Acronym> extractedPairs = new ArrayList<Acronym>(); String finalNounExp = "([a-zA-Z0-9\\-]{1,20})"; String nounExp = "(.{1,20}?)"; String shortFormExp = "\\(([^\\(]*?)\\)"; Matcher matcher = Pattern.compile( nounExp + " " + shortFormExp + ",? " + nounExp + " " + shortFormExp + ",? and " + nounExp + " " + shortFormExp + " " + finalNounExp).matcher(text); int startPos = 0; while (startPos < text.length() && matcher.find(startPos)) { String part1 = matcher.group(1); String part1_short = matcher.group(2); String part2 = matcher.group(3); String part2_short = matcher.group(4); String part3 = matcher.group(5); String part3_short = matcher.group(6); String mainNoun = matcher.group(7); startPos = matcher.regionEnd() + 1; addCandidatePair(extractedPairs, part1 + " " + mainNoun, part1_short, startPos); addCandidatePair(extractedPairs, part2 + " " + mainNoun, part2_short, startPos); addCandidatePair(extractedPairs, part3 + " " + mainNoun, part3_short, startPos); } return extractedPairs; }
Example 15
Source File: AlignmentPredictionModel.java From bluima with Apache License 2.0 | 5 votes |
protected List<Acronym> extractTrailingNounPattern_2Parts(String text) { ArrayList<Acronym> extractedPairs = new ArrayList<Acronym>(); String finalNounExp = "([a-zA-Z0-9\\-]{1,20})"; String nounExp = "(.{1,20}?)"; String shortFormExp = "\\(([^\\(]*?)\\)"; Matcher matcher = Pattern.compile( nounExp + " " + shortFormExp + ",? and " + nounExp + " " + shortFormExp + " " + finalNounExp).matcher(text); int startPos = 0; while (startPos < text.length() && matcher.find(startPos)) { String part1 = matcher.group(1); String part1_short = matcher.group(2); String part2 = matcher.group(3); String part2_short = matcher.group(4); String mainNoun = matcher.group(5); startPos = matcher.regionEnd() + 1; addCandidatePair(extractedPairs, part1 + " " + mainNoun, part1_short, startPos); addCandidatePair(extractedPairs, part2 + " " + mainNoun, part2_short, startPos); } return extractedPairs; }
Example 16
Source File: FastDateParser.java From Telegram with GNU General Public License v2.0 | 5 votes |
/** * Initialize derived fields from defining fields. * This is called from constructor and from readObject (de-serialization) * * @param definingCalendar the {@link java.util.Calendar} instance used to initialize this FastDateParser */ private void init(Calendar definingCalendar) { final StringBuilder regex = new StringBuilder(); final List<Strategy> collector = new ArrayList<Strategy>(); final Matcher patternMatcher = formatPattern.matcher(pattern); if (!patternMatcher.lookingAt()) { throw new IllegalArgumentException( "Illegal pattern character '" + pattern.charAt(patternMatcher.regionStart()) + "'"); } currentFormatField = patternMatcher.group(); Strategy currentStrategy = getStrategy(currentFormatField, definingCalendar); for (; ; ) { patternMatcher.region(patternMatcher.end(), patternMatcher.regionEnd()); if (!patternMatcher.lookingAt()) { nextStrategy = null; break; } final String nextFormatField = patternMatcher.group(); nextStrategy = getStrategy(nextFormatField, definingCalendar); if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = nextFormatField; currentStrategy = nextStrategy; } if (patternMatcher.regionStart() != patternMatcher.regionEnd()) { throw new IllegalArgumentException("Failed to parse \"" + pattern + "\" ; gave up at index " + patternMatcher.regionStart()); } if (currentStrategy.addRegex(this, regex)) { collector.add(currentStrategy); } currentFormatField = null; strategies = collector.toArray(new Strategy[collector.size()]); parsePattern = Pattern.compile(regex.toString()); }