Direct naar de hoofdinhoud
Module 3 · Les 4 van 412/32 in de cursus~10 min
Modulelessen (4/4)

Lege lijnen en trimmen

Laten we ankers + de vlag m combineren voor twee uiterst nuttige uitdrukkingen: overeenkomen met lege regels en inkorten van de witruimte aan het begin/einde van elke lijn.

Lege regels

Een lege regel is een positie waar ^ en $ samenvallen: nul tekens tussen het begin en het einde van de lijn.

Code
Pattern: ^$
Flag:    gm
Sample:  uno\n\ndue\n\n\ntre

De overeenkomst is nulbreedte: de markeerstift toont een markering ertussen de twee \n. Om ook 'lege maar met spaties'-regels te matchen, gebruikt u BESCHERMD_INLINE_4.

Een lijn afsnijden

Om witruimte aan het begin of einde van een regel te verwijderen, combineer je een anker + de klasse \s + een kwantor:

Code
^\s+    matches whitespace at the start of a line (can then be replaced with the empty string, module 7)
\s+$    matches whitespace at the end of a line

Met de gm vlaggen verzamel je elke margespatie van elke regel.

Lege regels en volgspaties identificeren

Een puur lege regel wordt gecombineerd met ^$ (met de vlag m). Veel ogenschijnlijk lege regels bevatten echter onzichtbare spaties of tabs. Het patroon ^\\s*$ onderschept deze regels ook, waardoor het opschonen van gegevens veel eenvoudiger wordt.

Probeer het

Oefening#regex.m3.l4.e1
Pogingen: 0Laden…

Zoek elke lege regel in het voorbeeld (nul tekens tussen twee nieuwe regels). Gebruik `^$` met de `gm`-vlaggen.

Editor laden…
Toon hint

Een lege regel is een positie waar ^ en $ samenvallen. De m-vlag is verplicht.

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

Oefening#regex.m3.l4.e2
Pogingen: 0Laden…

Zoek de witruimte aan het einde van elke regel (de witruimtetekens die aan de nieuwe regel voorafgaan). Gebruik `\\s+$` met de `gm` vlaggen.

Editor laden…
Toon hint

\\s+ komt overeen met een of meer witruimtetekens (inclusief tab). Met gm veranker je aan het einde van elke lijn.

Oplossing beschikbaar na 3 pogingen

Extra uitdaging

Oefening#regex.m3.l4.e3
Pogingen: 0Laden…

Find all lines that start with the `#` character (entire comment lines, ignoring inline comments).

Editor laden…
Toon hint

Use ^ at the start of the pattern to indicate that the comment character # must start the line.

Oplossing beschikbaar na 3 pogingen