const regex = /souly/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('souly', 'gm')
const str = `import React, { useState } from 'react';
const characters = [
{ name: 'Luke', side: 'Jedi' },
{ name: 'Vader', side: 'Sith' },
// Weitere Charaktere nach Bedarf hinzufügen
];
export default function ToggleCharacterView() {
const [view, setView] = useState('all');
const [selectedSide, setSelectedSide] = useState(null);
// Wechsel zwischen "all" und "sides"
function handleToggleView() {
setView(view === 'all' ? 'sides' : 'all');
setSelectedSide(null);
}
// Filter für Sichtbarkeit der Charaktere
const visibleCharacters =
view === 'all'
? characters
: selectedSide
? characters.filter(c => c.side === selectedSide)
: characters;
return (
<div>
<button onClick={handleToggleView}>
{view === 'all' ? 'Nur Seiten zeigen' : 'Alle anzeigen'}
</button>
{view === 'sides' && (
<>
<button onClick={() => setSelectedSide('Jedi')}>Jedi</button>
<button onClick={() => setSelectedSide('Sith')}>Sith</button>
<button onClick={() => setSelectedSide(null)}>Zurücksetzen</button>
</>
)}
<ul>
{visibleCharacters.map(character => (
<li key={character.name}>{character.name}</li>
))}
</ul>
</div>
);
}
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions