import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = " <a id=\"(.*?)<\\/a>";
final String string = "{% comment %} \n"
+ "Use this template to create the Appian_Release_Notes.md page for each new version of Appian. Any changes to this template should be discussed with the Information Development team. \n"
+ "{% endcomment %}\n\n"
+ "New features are described below in detail. Behavior changes, resolved issues, deprecations, and removals are called out their own sections.\n\n"
+ "{% comment %} \n"
+ "### <a id=\"Example_New_Feature\"></a> Example New Feature ###\n\n"
+ "This is a short description of the new feature. Group two or more closely related features using a common section with h4 subsections. Link to associated documentation as shown below (based on the number of links).\n\n"
+ "See also: [Associated Documentation](Associated_Documentation.md)\n\n"
+ "See also: [Associated Documentation](Associated_Documentation.md) and [Associated Documentation](Associated_Documentation.md)\n\n"
+ "See also: [Associated Documentation](Associated_Documentation.md), [Associated Documentation](Associated_Documentation.md), and [Associated Documentation](Associated_Documentation.md)\n"
+ "{% endcomment %}\n\n\n"
+ "## <a id=\"User_Interfaces\"></a> User Interfaces ##\n\n"
+ "This section describes new features for user interfaces, including Tempo, sites, and embedded interfaces.\n\n"
+ "### Sites Revolution ###\n\n"
+ "#### <a id=\"Tempo_Reports_in_Sites\"></a> Tempo Reports in Sites ###\n\n"
+ "In addition to task reports, actions and record types, designers can now configure sites to have Tempo reports. Making it easier for sites only users to view and analyze data.\n\n"
+ "<img class=\"screenshot\" src=\"images/release_notes/SitesTempoReports.png\"/>\n\n"
+ "[configure sites with reports](Sites.md#Configure_a_Site_Page).\n\n"
+ "#### <a id=\"Inline_Task_Management\"></a> Inline Task Management ###\n\n"
+ "Task management has improved for users of all Appian user environments. All task management controls for SAIL [tasks](Tasks.md), including save changes, reassign, and reject, have been moved to above the task form.\n\n"
+ "The left-hand navigation bar no longer appears in Tempo when viewing SAIL tasks, allowing task forms to occupy the full page width.\n\n"
+ "These task management controls are now available to [sites](Sites.md) users for the first time.\n\n"
+ "Users of [embedded](Embedded_Interfaces.md) tasks now have the option to save changes to SAIL tasks.\n\n"
+ "<img src=\"images/release_notes/InlineTaskControls.png\" class=\"screenshot\"/>\n\n\n"
+ "#### <a id=\"User_Record_in_Sites\"></a> User Record in Sites ###\n\n"
+ "We have made it possible for designers to configure the User record and User record links in sites.\n\n"
+ "<img class=\"screenshot\" src=\"images/release_notes/SitesUserRecord.png\"/>\n\n"
+ "#### <a id=\"User_Profile_in_Sites\"></a> User Profile in Sites ###\n\n"
+ "Users can now update their profiles in a site by clicking on their avatar in the header and clicking on the Profile button. \n\n"
+ "<img class=\"screenshot\" src=\"images/release_notes/SitesUserProfile.png\"/>\n\n"
+ "#### Wider Sites ###\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html