Aktionen

Regex: Unterschied zwischen den Versionen

Aus exmediawiki

(Die Seite wurde neu angelegt: „=Beschreibung= (englisch regular expression, Abkürzung RegExp oder Regex) Reguläre Ausdrücke können als Filterkriterien in der Textsuche verwendet werden,…“)
 
Zeile 12: Zeile 12:
 
pattern = '[0-9]'<br>
 
pattern = '[0-9]'<br>
 
string = 'text with 3 numbers, no just 2.'<br>
 
string = 'text with 3 numbers, no just 2.'<br>
string = re.sub(pattern, '', string)<br>
+
string = re.sub(pattern, '<nowiki/>'<nowiki/>, string)<br>
 
=> text with  numbers, no just .
 
=> text with  numbers, no just .
  
Zeile 19: Zeile 19:
 
pattern = '[a-d,f]'<br>
 
pattern = '[a-d,f]'<br>
 
string = 'abcdefgh'<br>
 
string = 'abcdefgh'<br>
string = re.sub(pattern, '', string)<br>
+
string = re.sub(pattern, '<nowiki/>'<nowiki/>, string)<br>
 
=> egh
 
=> egh
  
Zeile 26: Zeile 26:
 
pattern = '[a-z,A-Z]'<br>
 
pattern = '[a-z,A-Z]'<br>
 
string = 'abcd4262456e26ghABC124'<br>
 
string = 'abcd4262456e26ghABC124'<br>
string = re.sub(pattern, '', string)<br>
+
string = re.sub(pattern, '<nowiki/>'<nowiki/>, string)<br>
 
=> 426245626124
 
=> 426245626124
  
Zeile 33: Zeile 33:
 
pattern = '<(.*?)>'<br>
 
pattern = '<(.*?)>'<br>
 
string = 'some content without < some unimportant stuff > stuff'<br>
 
string = 'some content without < some unimportant stuff > stuff'<br>
string = re.sub(pattern, '', string)<br>
+
string = re.sub(pattern, '<nowiki/>'<nowiki/>, string)<br>
 
=> some content without  stuff<br>
 
=> some content without  stuff<br>
 
  
 
=Links=
 
=Links=

Version vom 30. September 2019, 21:07 Uhr

Beschreibung

(englisch regular expression, Abkürzung RegExp oder Regex) Reguläre Ausdrücke können als Filterkriterien in der Textsuche verwendet werden, indem der Text mit dem Muster des regulären Ausdrucks abgeglichen wird. Dieser Vorgang wird auch Pattern Matching genannt. So ist es beispielsweise möglich, alle Wörter aus einer Wortliste herauszusuchen, die mit S beginnen und auf D enden, ohne die dazwischen liegenden Buchstaben oder deren Anzahl explizit vorgeben zu müssen. (https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck)

Beispiele

(Python)
import re

remove digits
pattern = '[0-9]'
string = 'text with 3 numbers, no just 2.'
string = re.sub(pattern, '', string)
=> text with numbers, no just .


remove some letters
pattern = '[a-d,f]'
string = 'abcdefgh'
string = re.sub(pattern, '', string)
=> egh


remove all letters
pattern = '[a-z,A-Z]'
string = 'abcd4262456e26ghABC124'
string = re.sub(pattern, '', string)
=> 426245626124


remove everything within < and >
pattern = '<(.*?)>'
string = 'some content without < some unimportant stuff > stuff'
string = re.sub(pattern, '', string)
=> some content without stuff

Links

Online Regex Tester

https://regex101.com/