code: public static List<String> extractTags(final String source, final char tagStart, final char tagEnd) {
  		final List<String> ret = new ArrayList<>();
  		String currentTag = null;
  		boolean inTag = false;
  		char c;
  		for (int i = 0, l = source.length(); i < l; i++) {
  			c = source.charAt(i);
  			if (!inTag) {
  				if (c == tagStart) {
  					currentTag = String.valueOf(c);
  					inTag = true;
  				}
  			} else {
  				currentTag += c;
  				if (c == tagEnd) {
  					inTag = false;
  					ret.add(currentTag);
  					currentTag = null;
  				}
  			}
  		}
  
  		return ret;
  	}
docs: Extract tags from source {@link java.lang.String}.
  
  @param source
  source string
  @param tagStart
  start tag
  @param tagEnd
  end tag
  @return {@link java.util.List} of {@link java.lang.String}