Java tutorial
//package com.java2s; /* * CDDL HEADER START * * The contents of this file are subject to the terms of the Common Development and Distribution License, Version 1.0 * only (the "License"). You may not use this file except in compliance with the License. * * You can obtain a copy of the license at license/ESCIDOC.LICENSE or http://www.escidoc.de/license. See the License for * the specific language governing permissions and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each file and include the License file at * license/ESCIDOC.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by * brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * Copyright 2006-2011 Fachinformationszentrum Karlsruhe Gesellschaft fuer wissenschaftlich-technische Information mbH * and Max-Planck-Gesellschaft zur Foerderung der Wissenschaft e.V. All rights reserved. Use is subject to license * terms. */ import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { /** * The thread-safe compiled pattern to extract an object id from an XML representation of a resource, either by * getting it from the attribute objid or extracting it from the attribute ...:href. */ private static final Pattern PATTERN_OBJID_FROM_XML = Pattern.compile("(.*?objid=\"|.*?:href=\".*/)(.*?)\".*"); /** * Extracts the objid from the provided resource XML representation.<br/> Either the first occurence of objid="..." * is searched and the value is returned, or the first occurence of :href="..." is searched and from this value the * objid is extracted and returned. * * @param resourceXml The XML representation of the resource to get the objid from. * @return Returns the extracted objid or {@code null}. */ public static String getIdFromXml(final CharSequence resourceXml) { final Matcher matcher = PATTERN_OBJID_FROM_XML.matcher(resourceXml); return matcher.find() ? matcher.group(2) : null; } }