import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "Zweckfreibaum";
final String string = "//************* Russel **************\n\n"
+ "//++++++++++++ App.jsx ++++++++++++++\n\n"
+ "import React from \"react\";\n"
+ "import { DragonList } from \"./DragonList\";\n"
+ "import dragons from './dragons';\n\n"
+ "export default function App() {7\n\n"
+ " const [minAge, setMinAge] = React.useState(17);\n"
+ " const [type, setType] = React.useState('All');\n"
+ " console.log(dragons);\n"
+ " return (\n"
+ " <div>\n"
+ " <h1>The Dragons:</h1>\n"
+ " <DragonList dragons={dragons} minAge={minAge} type={type}/>\n"
+ " <span>Minimum Age: {minAge}</span>\n"
+ " <button type=\"button\" onClick={ () => setMinAge(age => age - 1) }>\n"
+ " Show younger dragons\n"
+ " </button>\n"
+ " <button type=\"button\" onClick={ () => setMinAge(age => age + 1) }>\n"
+ " Show older dragons\n"
+ " </button>\n"
+ " <button type=\"button\" onClick={ () => setType('All') }>\n"
+ " Show all dragons\n"
+ " </button>\n"
+ " <button type=\"button\" onClick={ () => setType('Fire') }>\n"
+ " Show fire dragons\n"
+ " </button>\n"
+ " </div>\n"
+ " )\n"
+ "}\n\n"
+ "//++++++++++++++ Main.jsx ++++++++++++++++++\n\n"
+ "import { StrictMode } from 'react'\n"
+ "import { createRoot } from 'react-dom/client'\n"
+ "import './index.css'\n"
+ "import GiggnGoggn from './App.jsx'\n\n"
+ "createRoot(document.getElementById('root')).render(\n"
+ " <StrictMode>\n"
+ " <GiggnGoggn />\n"
+ " </StrictMode>,\n"
+ ")\n\n"
+ "//++++++++++++++ dragon.js++++++++++++++\n\n"
+ "export default dragons = [\n"
+ " {\n"
+ " name: \"Skril\",\n"
+ " type: \"Lightning\",\n"
+ " age: 16,\n"
+ " },\n\n"
+ " {\n"
+ " name: \"Nightmare\",\n"
+ " type: \"Fire\",\n"
+ " age: 22,\n"
+ " },\n\n"
+ " {\n"
+ " name: \"Deadly Nadder\",\n"
+ " type: \"Magnesium\",\n"
+ " age: 16,\n"
+ " },\n\n"
+ " {\n"
+ " name:\"Night Fury\",\n"
+ " type: \"Plasma\",\n"
+ " age: 18,\n"
+ " },\n\n"
+ "]; \n\n\n"
+ "//++++++++++++++++++++++ DragonList.jsx+++++++++++++++++++\n\n"
+ "import { Dragon } from \"./Dragon\";\n\n"
+ "export function DragonList({dragons, minAge, type}) {\n\n"
+ " const filteredDragons = dragons.filter(\n"
+ " dragon => (dragon.age >= minAge) && (type === 'All' ? true : dragon.type === type)\n"
+ " );\n\n"
+ " console.log('filteredDragons', {filteredDragons});\n\n"
+ " return (\n"
+ " <div>\n"
+ " {filteredDragons.map((dragon, index) => <Dragon key={index} {...dragon} /> )}\n"
+ " </div>\n"
+ " );\n"
+ "}\n\n"
+ "//++++++++++++++++++ dragon.jsx +++++++++++++++++++++++++\n\n"
+ "export function Dragon({ name, type, age }) {\n"
+ " return (\n"
+ " <div>\n"
+ " <h2>{name}</h2>\n"
+ " <p>Type: {type}</p>\n"
+ " <p>Age: {age} years</p>\n"
+ " </div>\n"
+ " );\n"
+ "}\n\n\n\n\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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