דילוג לתוכן המרכזי
eLearner.app
מודול 3 · שיעור 4 מתוך 412/32 בקורס~10 min
שיעורי מודול (4/4)

קווים ריקים וקצץ

Let's combine anchors + the m flag for two extremely useful idioms: matching empty lines and trimming the whitespace at the start/end of each line.

Empty lines

An empty line is a position where ^ and $ coincide: zero characters between the start and the end of the line.

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

The match is zero-width: the highlighter will show a marker between the two \n. To also match "empty but with spaces" lines, use ^\s*$.

Trimming a line

To remove whitespace at the start or end of a line, combine an anchor + the \s class + a quantifier:

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

With the gm flags you collect every margin whitespace of every line.

Identifying empty lines and trailing spaces

A pure empty line is matched by ^$ (with the m flag). However, many apparently empty lines contain invisible spaces or tabs. The pattern ^\\s*$ intercepts these lines too, making data cleanup much easier.

Try it

פעילות גופנית#regex.m3.l4.e1
ניסיונות: 0טוען...

Find every empty line in the sample (zero characters between two newlines). Use `^$` with the `gm` flags.

טוען עורך...
הצג רמז

An empty line is a position where ^ and $ coincide. The m flag is mandatory.

הפתרון זמין לאחר 3 ניסיונות

Review exercise

פעילות גופנית#regex.m3.l4.e2
ניסיונות: 0טוען...

Find the whitespace at the end of every line (the whitespace characters that precede the newline). Use `\\s+$` with the `gm` flags.

טוען עורך...
הצג רמז

\\s+ matches one or more whitespace characters (including tab). With gm you anchor to the end of every line.

הפתרון זמין לאחר 3 ניסיונות

Additional challenge

פעילות גופנית#regex.m3.l4.e3
ניסיונות: 0טוען...

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

טוען עורך...
הצג רמז

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

הפתרון זמין לאחר 3 ניסיונות