/*=============================================================================# # Copyright (c) 2015-2016 Stephan Wahlbrink (WalWare.de) and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # Stephan Wahlbrink - initial API and implementation #=============================================================================*/ package de.walware.docmlet.wikitext.internal.commonmark.core; import java.util.regex.Pattern; public class CommonRegex { public static final String TAG_NAME_REGEX= "\\p{Alpha}[\\p{Alnum}-]*"; public static final String ATTR_NAME_REGEX= "[\\p{Alpha}_:][\\p{Alnum}_.:-]*"; public static final String ATTR_VALUE_D_QUOTED= "\"[^\"]*\""; public static final String ATTR_VALUE_S_QUOTED= "'[^']*'"; public static final String ATTR_VALUE_U_QUOTED= "[^\\s\"'=><`]+"; public static final String ATTR_VALUE_REGEX= ATTR_VALUE_D_QUOTED + "|" + ATTR_VALUE_S_QUOTED + "|" + ATTR_VALUE_U_QUOTED; public static final String ATTR_SPEC_REGEX= "\\s+" + ATTR_NAME_REGEX + "(?:\\s*=\\s*(?:" + ATTR_VALUE_REGEX + "))?"; public static final String COMMENT_START1_REGEX= "!--"; public static final String COMMENT_END_REGEX= "-->"; public static final String COMMENT_1_REGEX= COMMENT_START1_REGEX + "(?:" + COMMENT_END_REGEX + "|-?[^>-](?:-?[^-])*" + COMMENT_END_REGEX + ")"; public static final String PI_START1_REGEX= "\\?"; public static final String PI_END_REGEX= "\\?>"; public static final String PI_1_REGEX= PI_START1_REGEX + ".*?" + PI_END_REGEX; public static final String DECL_START1_REGEX= "!\\p{Upper}+"; public static final String DECL_END_REGEX= ">"; public static final String DECL_1_REGEX= DECL_START1_REGEX + "\\s[^>]*" + DECL_END_REGEX; public static final String CDATA_START1_REGEX= "!\\[CDATA\\["; public static final String CDATA_END_REGEX= "\\]\\]>"; public static final String CDATA_1_REGEX= CDATA_START1_REGEX + ".*?" + CDATA_END_REGEX; public static final String OPEN_TAG_1_REGEX= TAG_NAME_REGEX + "(?:" + ATTR_SPEC_REGEX + ")" + "*\\s*/?>"; public static final String CLOSE_TAG_1_REGEX="/" + TAG_NAME_REGEX + "\\s*>"; public static final String HTML_ENTITY_REGEX= "&(#[Xx]\\p{XDigit}{1,8}|#\\p{Digit}{1,8}|\\p{Alpha}\\p{Alnum}{1,31});"; public static final Pattern HTML_ENTITY_PATTERN= Pattern.compile(HTML_ENTITY_REGEX, Pattern.DOTALL ); public static final String CTRL_OR_SPACE= "\\x00-\\x20\\x7F"; // public static final String LINE_END= "\n|\r\n?|$"; public static final String LINE_END= "\n|$"; }