Regular Expressions 101

Community Patterns

1

gamgamtest_matei_überwiegend_version2

Created·2025-11-21 07:37
Flavor·PCRE2 (PHP)
Tier Verwalter setName($name); $this->setAlter($alter); $this->setGewicht($gewicht); $this->setGeburtsdatum($geburtsdatum); $this->setArt($art); $this->id = uniqid(); } // Getter und Setter für name public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } // Getter und Setter für alter public function setAlter($alter) { $this->alter = $alter; } public function getAlter() { return $this->alter; } // Getter und Setter für gewicht public function setGewicht($gewicht) { $this->gewicht = $gewicht; } public function getGewicht() { return $this->gewicht; } // Getter und Setter für geburtsdatum public function setGeburtsdatum($geburtsdatum) { $this->geburtsdatum = $geburtsdatum; } public function getGeburtsdatum() { return $this->geburtsdatum; } // Getter und Setter für art public function setArt($art) { $this->art = $art; } public function getArt() { return $this->art; } public function getId() { return $this->id; } } if (isset($_POST'speichern'])) { $neuesTier = new Tier( $_POST['name'], $_POST['alter'], $_POST['gewicht'], $_POST['geburtsdatum'], $_POST['art'] ); if (!isset($_SESSION['tiere'])) { $_SESSION['tiere'] = array(); } $_SESSION['tiere'] = $neuesTier; } if (isset($_POST['loeschen'])) { if (isset($_SESSION['tiere'])) { unset($_SESSION['tiere']); $_SESSION['tiere'] = array(); } } ?> Neues Tier hinzufügen Name: Alter: Gewicht (kg): Geburtsdatum: Art: Speichern Alle löschen Gespeicherte Tiere: 0) { foreach ($_SESSION['tiere'] as $tier) { echo "Tier: " . htmlspecialchars($tier->getName()) . ""; } } else { echo "Keine Tiere gespeichert."; } ?>
Submitted by anonymous
1

gamgamtestplf grundlegend

Created·2025-11-21 07:37
Flavor·PCRE2 (PHP)
setName($name); $this->setPrice($price); $this->setCategory($category); } // Getter und Setter public function getName(): string { return $this->name; } public function setName(string $name): void { $this->name = trim($name); } public function getPrice(): float { return $this->price; } public function setPrice(float $price): void { // einfache Validierung, minimum 0 if ($price price = $price; } public function getCategory(): string { return $this->category; } public function setCategory(string $category): void { $this->category = trim($category); } } // ---------- FORMULAR-AKTIONEN ---------- if ($_SERVER'REQUEST_METHOD'] === 'POST') { // Aktion unterscheiden: speichern oder alles löschen $action = $_POST['action'] ?? 'save'; if ($action === 'clear') { // Alle löschen $_SESSION['products'] = []; } else { // Speichern $name = $_POST['name'] ?? ''; $priceRaw = $_POST['price'] ?? '0'; $category = $_POST['category'] ?? ''; // number-Input kommt als String, in float wandeln $price = (float) str_replace(',', '.', $priceRaw); // Neues Objekt der Basisklasse erzeugen $product = new Product($name, $price, $category); // In Session-Array speichern, Key = uniqid() $id = uniqid('p_', true); $_SESSION['products' = $product; } // Optional: Redirect, um Formular-Resubmits zu vermeiden header('Location: ' . $_SERVER['PHP_SELF']); exit; } ?> Product Webapp body { font-family: Arial, sans-serif; margin: 20px; } form { margin-bottom: 20px; } label { display: block; margin-top: 10px; } input, select { padding: 5px; width: 250px; max-width: 100%; } button { margin-top: 15px; padding: 6px 12px; cursor: pointer; } table { border-collapse: collapse; margin-top: 20px; width: 100%; max-width: 600px; } th, td { border: 1px solid #ccc; padding: 8px; } th { background: #eee; } Produktverwaltung (Session-Demo) Produktname (type="text") Preis in € (type="number") Kategorie Elektronik Haushalt Bücher Sonstiges Speichern Alle löschen Gespeicherte Produkte (nur ein Feld wird ausgegeben) Produktname (eine Membervariable) $product): ?> getName(), ENT_QUOTES, 'UTF-8'); ?> Aktuell sind keine Produkte in der Session gespeichert.
Submitted by anonymous

Community Library Entry

1

Regular Expression
Created·2025-12-08 04:32
Flavor·JavaScript

/
((?<=>)[^<>\n]+?(?=<))|((?<=<.+=")[^\n"]+?(?="))
/
gm
Open regex in editor

Description

Overview

This Regular Expression shows any text between HTML tags or between quotation marks within the tags themselves. An example would be: <HTML lang="en", then selecting the 'en' from there. Group 1 is between tags, and group 2 is in the quotes. I recommend only using half of this regular expression, like the 'between tags' part, or the 'inside quotes part'.

Explanation

The whole regex is built of two alternates, the tags and quotes part. The tags part (the first part) starts with a lookbehind of a closing of a tag, then a lazy part that selects almost characters, and a lookahead that checks for the beginning of tag (so the text is between tags). The quotes part is built in a similar structure, where it looks behind for an open of a tag, .+ , then checking for an equals sign followed by a quotation mark. The middle section of the quotes part is again just searching for text, but also not including quotation marks. The lookahead checks for a closing quotation mark and that's it! Please comment any questions or email me.

Submitted by daniel@sabian.pro