Difference between revisions of "NL/Documentation/How Tos/Reguliere expressies in Calc"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Regular expressions in Calc and Writer)
Line 2: Line 2:
 
[[Category:How to]]
 
[[Category:How to]]
 
[[fr:Documentation/FR/Expressions_Regulieres_dans_Calc]]
 
[[fr:Documentation/FR/Expressions_Regulieres_dans_Calc]]
 +
[[nl:Documentation/nl/How_Tos/Reguliere_expressies_in_Calc]]
  
 
== Introductie ==
 
== Introductie ==
Line 7: Line 8:
  
  
Een typisch gebruik voor reguliere expressies is gelegen in het vinden van tekst; bijvoorbeeld om alle cellen te vinden die '''mannelijk''' of '''vrouwelijk''' bevatten in uw werkblad, zou u kunnen zoeken met een eenvoudige reguliere expressie.
+
Typisch gebruik voor reguliere expressies is het vinden van tekst; om bijvoorbeeld alle cellen in uw werkblad te zoeken die '''mannelijk''' of '''vrouwelijk''' bevatten, zou u kunnen zoeken met behulp van één enkele reguliere expressie.
 +
 
  
 
== Reguliere expressies in Calc en Writer ==
 
== Reguliere expressies in Calc en Writer ==
  
Reguliere expressies zijn in Calc als volgt beschikbaar:
+
Reguliere expressies zijn als volgt beschikbaar in Calc:
  
*Edit - Find & Replace dialog
+
*Bewerken - dialoogvenster Zoeken & vervangen
  
*Data - Filter - Standard filter & Advanced filter
+
*Gegevens - Filter - Standaardfilter & Speciaal filter
  
*Certain functions, such as SUMIF, LOOKUP
+
*Bepaalde functies, zoals SOM.ALS, VERT.ZOEKEN
  
The best way to learn about regular expressions in Calc is to start by understanding how to use them in Find & Replace. This is covered by the '<b>[[Documentation/How_Tos/Regular Expressions in Writer|HowTo for Regular Expressions in Writer]]</b>', which you should read.
+
De beste manier om reguliere expressies in Calc te leren kennen is om te beginnen te begrijpen hoe zij kunnen worden gebruikt in Zoeken en vervangen. Dit wordt behandeld door '<b>[[Documentation/nl/How_Tos/Reguliere expressies in Writer|HowTo voor reguliere expressies in Writer]]</b>', dat u zou moeten lezen.
  
  
In Calc, regular expressions are applied separately to each cell. (You'll see that regular expressions are applied separately to each paragraph in Writer.) So a search for '<b>r.d</b>' will match '<b>red</b>' in cell A1 but will not match '<b>r</b>' in cell A2 with '<b>d</b>' (or '<b>ed</b>') in cell A3. (The regular expression '<b>r.d</b>' means 'try to match '<b>r</b>' followed by another character followed by '<b>d</b>' ').
+
In Calc worden reguliere expressies afzonderlijk toegepast op elke cel. (U zult zien dat reguliere expressies afzonderlijk worden toegepast op elke alinea in Writer.) Dus een zoekactie naar '<b>r.d</b>' zal overeenkomen met '<b>rad</b>' in cel A1 maar zal niet overeenkomen met '<b>r</b>' in cel A2 met '<b>d</b>' (of '<b>ed</b>') in cel A3. (De reguliere expressie '<b>r.d</b>' betekent 'probeer een overeenkomst te vinden voor '<b>r</b>', gevolgd door een ander teken, gevolgd door '<b>d</b>' ').
  
== Regular expressions in Calc functions ==
+
== Reguliere expressies in functies van Calc ==
  
There are a number of functions in Calc which allow the use of regular expressions:<br>
+
Er zijn een aantal functies in Calc die het gebruik van reguliere expressies toestaan:<br>
'<b>[[Documentation/How_Tos/Calc: SUMIF function|SUMIF]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie SOM.ALS|SOM.ALS]]</b>',
'<b>[[Documentation/How_Tos/Calc: COUNTIF function|COUNTIF]]</b>',<br>
+
'<b>[[Documentation/nl/How_Tos/Calc: functie AANTAL.ALS|AANTAL.ALS]]</b>',<br>
'<b>[[Documentation/How_Tos/Calc: MATCH function|MATCH]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie VERGELIJKEN|VERGELIJKEN]]</b>',
'<b>[[Documentation/How_Tos/Calc: SEARCH function|SEARCH]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie VIND.SPEC|VIND.SPEC]]</b>',
'<b>[[Documentation/How_Tos/Calc: LOOKUP function|LOOKUP]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie ZOEKEN|ZOEKEN]]</b>',
'<b>[[Documentation/How_Tos/Calc: HLOOKUP function|HLOOKUP]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie HORIZ.ZOEKEN|HORIZ.ZOEKEN]]</b>',
'<b>[[Documentation/How_Tos/Calc: VLOOKUP function|VLOOKUP]]</b>',<br>
+
'<b>[[Documentation/nl/How_Tos/Calc: functie VERT.ZOEKEN|VERT.ZOEKEN]]</b>',<br>
'<b>[[Documentation/How_Tos/Calc: DCOUNT function|DCOUNT]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBAANTAL|DBAANTAL]]</b>',
'<b>[[Documentation/How_Tos/Calc: DCOUNTA function|DCOUNTA]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBAANTALC|DBAANTALC]]</b>',
'<b>[[Documentation/How_Tos/Calc: DSUM function|DSUM]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBSOM|DBSOM]]</b>',
'<b>[[Documentation/How_Tos/Calc: DPRODUCT function|DPRODUCT]]</b>',<br>
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBPRODUCT|DBPRODUCT]]</b>',<br>
'<b>[[Documentation/How_Tos/Calc: DMAX function|DMAX]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBMAX|DBMAX]]</b>',
'<b>[[Documentation/How_Tos/Calc: DMIN function|DMIN]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBMIN|DBMIN]]</b>',
'<b>[[Documentation/How_Tos/Calc: DAVERAGE function|DAVERAGE]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBGEMIDDELDE|DBGEMIDDELDE]]</b>',
'<b>[[Documentation/How_Tos/Calc: DSTDEV function|DSTDEV]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBSTDEV|DBSTDEV]]</b>',
'<b>[[Documentation/How_Tos/Calc: DSTDEVP function|DSTDEVP]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBSTDEVP|DBSTDEVP]]</b>',
'<b>[[Documentation/How_Tos/Calc: DVAR function|DVAR]]</b>',
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBVAR|DBVAR]]</b>',
'<b>[[Documentation/How_Tos/Calc: DVARP function|DVARP]]</b>',<br>
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBVARP|DBVARP]]</b>',<br>
'<b>[[Documentation/How_Tos/Calc: DGET function|DGET]]</b>'
+
'<b>[[Documentation/nl/How_Tos/Calc: functie DBLEZEN|DBLEZEN]]</b>'
  
  
Whether or not regular expressions are used is selected on the Tools - Options - OpenOffice.org Calc - Calculate dialog:
+
Of reguliere expressies worden gebruikt of niet wordt geselecteerd in het dialoogvenster Extra - Opties - OpenOffice.org Calc - Berekenen:
  
  
[[Image:Regex_howto_2.png|choosing to use regular expressions in Calc functions]]
+
[[Image:nl_regex_howto_2.png|kiezen om reguliere expressies in functies van Calc te gebruiken]]
  
  
For example ''''=COUNTIF(A1:A6;"r.d")'''' with "Enable regular expressions in formulas" selected will count cells in A1:A6 which contain ''''red'''' and ''''ROD''''.
+
Bijvoorbeeld: ''''=AANTAL.ALS(A1:A6;"r.d")'''' met "Reguliere expressies in formules mogelijk" geselecteerd zal de cellen in A1:A6 tellen die bevatten ''''rad'''' en ''''ROD''''.
  
  
Additionally if "Search criteria = and <> must apply to whole cells" is ''not'' selected then ''''Fred'''', ''''bride'''', and ''''Ridge'''' will also be counted. If that setting ''is'' selected, then it can be overcome by wrapping the expression thus: ''''=COUNTIF(A1:A6;".*r.d.*")''''.
+
Als aanvullend daarop "Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn" ''niet'' is geselecteerd dan worden ''''Fred'''', ''''braderie'''', en ''''Ridicuul'''' ook meegeteld. Als die instelling ''wel'' is geselecteerd, dan kan het worden bereikt door de expressie als volgt te noteren: ''''=AANTAL.ALS(A1:A6;".*r.d.*")''''
  
  
[[Image:Regex_howto_4.png|regular expression in COUNTIF function]]
+
[[Image:Regex_howto_4.png|reguliere expressie in functie AANTAL.ALS]]
  
  
Regular expression searches ''within functions'' are <u>always case insensitive</u>, irrespective of the setting of the "Case sensitive" check box on the dialog above - so ''''red'''' and ''''ROD'''' will always be matched in the above example. This case-insensitivity also applies to the regular expression structures ([:lower:]) and ([:upper:]), which match characters irrespective of case. See [http://qa.openoffice.org/issues/show_bug.cgi?id=71000 issue 71000] for some background.
+
Zoekacties met reguliere expressies ''binnen functies'' zijn <u>altijd ongevoelig voor hoofdletters</u>, ongeacht de instelling van het keuzevak "Hoofdletters/kleine letters" in het bovenstaande dialoogvenster - dus ''''rad'''' en ''''ROD'''' zullen altijd worden gevonden in het bovenstaande voorbeeld. Deze ongevoeligheid voor hoofdletters is ook van toepassing op de structuren ([:lower:]) en ([:upper:]) van reguliere expressies, die tekens overeen laten komen, ongeacht hoofd- of kleine letters. Zie [http://qa.openoffice.org/issues/show_bug.cgi?id=71000 issue 71000] voor enige achtergrondinformatie.
  
Regular expressions will not work in simple comparisons. For example:
+
Reguliere expressies zullen niet werken in eenvoudige vergelijkingen. Bijvoorbeeld:
' <b>A1="r.d"</b> ' will always return '''FALSE''' if A1 contains '<b>red</b>', even if regular expressions are enabled - it will only return '''TRUE''' if A1 contains '<b>r.d</b>' ('<b>r</b>' then a <b>dot</b> then '<b>d</b>'). If you wish to test using regular expressions, try the '<b>COUNTIF</b>' function - '<b>COUNTIF(A1; "r.d")</b>' will return '<b>1</b>' or '<b>0</b>', interpreted as '''TRUE''' or '''FALSE''' in formulae like '<b>=IF(COUNTIF(A1; "r.d");"hooray"; "boo")</b>'
+
' <b>A1="r.d"</b> ' zal altijd '''ONWAAR''' teruggeven als A1 '<b>rad</b>' bevat, zelfs als reguliere expressies zijn ingeschakeld - het zal alleen '''WAAR''' teruggeven als A1 '<b>r.d</b>' bevat ('<b>r</b>' dan een <b>punt</b> en dan '<b>d</b>'). Indien u het gebruik van reguliere expressies wilt testen, gebruik dan de functie '<b>AANTAL.ALS</b>' - '<b>AANTAL.ALS(A1; "r.d")</b>' zal '<b>1</b>' of '<b>0</b>' teruggeven, geínterpreteerd als '''WAAR''' of '''ONWAAR''' in formules zoals '<b>=ALS(AANTAL.ALS(A1; "r.d");"hoera"; "boo")</b>'
  
Activating the "Enable regular expressions in formulas" setting means all the above functions will require any regular expression special characters (such as parentheses) used in strings within formulas, to be "escaped" using a preceding backslash, despite not being part of a regular expression. These backslashes will need removing if the setting is later deactivated.
+
Activeren van de instelling "Reguliere expressies in formules mogelijk" betekent dat alle bovenstaande functies een speciale teken voor reguliere expressies vereisen (zoals haakjes) voor gebruik binnen tekenreeksen in formules, die kunnen worden "escaped" met behulp van een vooraf gaande backslash, hoewel zij geen deel uitmaken van een reguliere expressie. Deze backslashes moeten later worden verwijderd als de instelling later wordt gedeactiveerd.
  
Note that in OOo2.4 a ''change'' to the "Enable regular expressions in formulas" setting is not necessarily reflected in the results, even if recalculation is forced. This bug [http://www.openoffice.org/issues/show_bug.cgi?id=89047 89047] does not apply to OOo2.3, and is fixed for OOo3.0.
+
Onthoud dat in OOo2.4 een ''wijziging van de instelling'' "Reguliere expressies in formules mogelijk" niet noodzakelijkerwijze wordt gereflecteerd in de resultaten, zelfs niet als een herberekening wordt geforceerd. Deze bug [http://www.openoffice.org/issues/show_bug.cgi?id=89047 89047] is niet va toepassing op OOo2.3 en is verholpen in OOo3.0.
  
== Regular expressions in Calc Find & Replace ==
+
== Reguliere expressies in Calc Zoeken & vervangen ==
  
Find & Replace in Calc is very similar to Find & Replace in Writer, as described in the '<b>[[Documentation/How_Tos/Regular Expressions in Writer|HowTo for Regular Expressions in Writer]]</b>'. The following points are interesting to Calc users:
+
Zoeken & vervangen in Calc komt zeer overeen met Zoeken & vervangen in Writer, zoals beschreven in de '<b>[[Documentation/nl/How_Tos/Reguliere expressies in Writer|HowTo voor reguliere expressies in Writer]]</b>'. De volgende punten zijn interessant voor gebruikers van Calc:
  
  
* When a match is found, the whole cell is shown highlighted, but only the text found will be replaced. For example, searching for '<b>brown</b>' will highlight a cell containing '<b>redbrown clay</b>', and replacing with nothing will leave the cell containing '<b>red clay</b>'.
+
* Als een overeenkomst wordt gevonden, wordt de gehele cel geaccentueerd weergegeven, maar alleen de gevonden tekst zal worden vervangen. Zoeken naar, bijvoorbeeld, '<b>rood</b>' zal een cel accentueren die '<b>roodbruine klei</b>' bevat, en dat vervangen door niets zal de cel achterlaten met '<b>bruine klei</b>'.
  
  
* If Find is used twice in a row, the second time with "Current selection only" activated, then the second search will evaluate the ''whole'' of each selected cell, ''not'' just the strings found which caused the cells to be selected in the first search. For example, searching for '<b>joh?n</b>', then activating "Current selection only" and searching for '<b>sm.th</b>', will find cells containing '''Jon Smith''' and '''Smythers, Johnathon'''.
+
* Indien Zoeken twee keer achter elkaar wordt gebruikt, zal, indien de tweede keer "Alleen huidige selectie" is geactiveerd, de tweede zoekactie ''alles'' van elke geselecteerde cel evalueren, ''niet'' alleen de gevonden tekenreeksen die er voor zorgden dat de cellen werden geselecteerd in de eerste zoekactie. Zoeken naar, bijvoorbeeld, '<b>joh?n</b>', en dan "Alleen huidige selectie" activeren en zoeken naar '<b>sm.th</b>', zal de cellen vinden die bevatten '''Jon Smith''' en '''Smythers, Johnathon'''.
  
  
* If a cell contains a hard line break (entered by Cntrl-Enter), this may be found by '<b>\n</b>'. For example if a cell contains '<b>red hard_line_break clay</b>' then searching for '<b>d\nc</b>' and replacing with nothing leaves the cell containing '<b>relay</b>'.
+
* Indien een cel een hard regeleinde bevat (ingevoerd met Ctrl-Enter), kan die worden gevonden met '<b>\n</b>'. Indien een cel bijvoorbeeld bevat '<b>rode hard_regeleinde kelen</b>' dan zal het zoeken naar '<b>e\nk</b>' en dat vervangen door niets de cel achterlaten met '<b>rodelen</b>'.
  
  
* The hard line break acts to mark "end of text" as understood by the regular expression special character '<b>$</b>' (in addition of course to the end of text in the cell). For example if a cell contains '<b>red hard_line_break clay</b>' then a search for '<b>d$</b>' replacing with '<b>al</b>' leaves the cell with '<b>real hard_line_break clay</b>'. Note that with this syntax the hard line break is not replaced - it simply marks the end of text.
+
* Het harde regeleinde dient als markering van "einde van de tekst" zoals dat wordt begrepen door het speciale teken voor reguliere expressies '<b>$</b>' (als aanvulling natuurlijk op het einde van de tekst in de cel). Indien een cel bijvoorbeeld bevat '<b>rode hard_regeleinde kelen</b>' dan zal het zoeken naar '<b>de$</b>' en dat vervangen door '<b>uze</b>' de cel achterlaten met '<b>reuze hard_regeleinde kelen</b>'. Onthoud dat met deze syntaxis het harde regeleinde niet wordt vervangen - het markeert eenvoudigweg het einde van de tekst.
  
  
* Using '<b>\n</b>' in the 'Replace with' box will replace with the literal characters '<b>\n</b>', not a hard line break.
+
* Gebruiken van '<b>\n</b>' in het vak 'Vervangen door' zal dat vervangen door de letterlijke tekens '<b>\n</b>', niet door een hard regeleinde.
  
  
* The Find & Replace dialog has an option to search '<b>Formulas</b>', '<b>Values</b>', or '<b>Notes</b>'. This applies to any search, not just one using regular expressions. Searching with the '<b>Formulas</b>' option would find '<b>SUM</b>' in a cell containing the formula '<b>=SUM(A1:A6)</b>'. If a cell contains text instead of a function, the text will still be found - so that the simple text '<b>SUMMARY</b>' in a cell would also give a match to '<b>SUM</b>' using the '<b>Formulas</b>' option.
+
* Het dialoogvenster Zoeken & vervangen heeft een optie om '<b>Formules</b>', '<b>Waarden</b>' of '<b>Notities</b>' te zoeken. Dit is van toepassing op elke zoekactie, niet alleen die welke reguliere expressies gebruiken. Zoeken met de optie '<b>Formules</b>' zou vinden '<b>SOM</b>' in een cel die de formule '<b>=SOM(A1:A6)</b>' bevat. Indien een cel tekst bevat in plats van een functie, zal de tekst nog steeds worden gevonden - zodat de eenvoudige tekst '<b>OPSOMMING</b>' in een cel ook een overeenkomst zal geven voor '<b>SOM</b>' bij gebruik van de optie '<b>Formules</b>'.
  
  
* Searching for the regular expression '<b>^$</b>' will not find empty cells. This is intentional - the rationale being to avoid performance issues when selecting a huge number of cells. Note that empty cells will not be found even if you are only searching a selection.
+
* Zoeken naar de reguliere expressie '<b>^$</b>' zal geen lege cellen vinden. Dit is opzettelijk zo gedaan - het rationele is om problemen met de uitvoering te vermijden bij het selecteren van een groot aantal cellen. Onthoud dat lege cellen niet zullen worden gevonden, zelfs niet als u slechts binnen een selectie zoekt.
  
  
* Find '<b>.+</b>' (or similar) and Replace with '<b>&</b>' effectively re-enters the contents of cells. This can be used to 'strip' formatting automatically applied by Calc (often needed to 'clean' data imported from the clipboard or badly formatted files), for example, to convert text strings consisting of digits, into actual numbers (the cells must first be correctly formatted 'number'). The leading apostrophes, telling Calc to treat the numbers as text, are removed.
+
* Zoeken naar '<b>.+</b>' (of soortgelijk) en dat Vervangen door '<b>&</b>' voert effectief de inhoud van cellen opnieuw in. Dit kan worden gebruikt om opmaak 'te strippen' die automatisch wordt toegepast door Calc (vaak nodig om gegeven 'te schonen' die werden geïmporteerd vanaf het klembord of slecht opgemaakte bestanden), bijvoorbeeld om tekst-tekenreeksen die bestaan uit cijfers, te converteren naar echte getallen (de cellen moeten eerst correct worden opgemaakt met 'getal'). De voorafgaande apostrofs, die Calc vertellen om de getallen als tekst te behandelen, worden verwijderd.
  
  
 
{{PDL1}}
 
{{PDL1}}

Revision as of 13:18, 17 January 2009


Introductie

Simpel gezegd zijn reguliere expressies een slimme manier om tekst te vinden.


Typisch gebruik voor reguliere expressies is het vinden van tekst; om bijvoorbeeld alle cellen in uw werkblad te zoeken die mannelijk of vrouwelijk bevatten, zou u kunnen zoeken met behulp van één enkele reguliere expressie.


Reguliere expressies in Calc en Writer

Reguliere expressies zijn als volgt beschikbaar in Calc:

  • Bewerken - dialoogvenster Zoeken & vervangen
  • Gegevens - Filter - Standaardfilter & Speciaal filter
  • Bepaalde functies, zoals SOM.ALS, VERT.ZOEKEN

De beste manier om reguliere expressies in Calc te leren kennen is om te beginnen te begrijpen hoe zij kunnen worden gebruikt in Zoeken en vervangen. Dit wordt behandeld door 'HowTo voor reguliere expressies in Writer', dat u zou moeten lezen.


In Calc worden reguliere expressies afzonderlijk toegepast op elke cel. (U zult zien dat reguliere expressies afzonderlijk worden toegepast op elke alinea in Writer.) Dus een zoekactie naar 'r.d' zal overeenkomen met 'rad' in cel A1 maar zal niet overeenkomen met 'r' in cel A2 met 'd' (of 'ed') in cel A3. (De reguliere expressie 'r.d' betekent 'probeer een overeenkomst te vinden voor 'r', gevolgd door een ander teken, gevolgd door 'd' ').

Reguliere expressies in functies van Calc

Er zijn een aantal functies in Calc die het gebruik van reguliere expressies toestaan:
'SOM.ALS', 'AANTAL.ALS',
'VERGELIJKEN', 'VIND.SPEC', 'ZOEKEN', 'HORIZ.ZOEKEN', 'VERT.ZOEKEN',
'DBAANTAL', 'DBAANTALC', 'DBSOM', 'DBPRODUCT',
'DBMAX', 'DBMIN', 'DBGEMIDDELDE', 'DBSTDEV', 'DBSTDEVP', 'DBVAR', 'DBVARP',
'DBLEZEN'


Of reguliere expressies worden gebruikt of niet wordt geselecteerd in het dialoogvenster Extra - Opties - OpenOffice.org Calc - Berekenen:


kiezen om reguliere expressies in functies van Calc te gebruiken


Bijvoorbeeld: '=AANTAL.ALS(A1:A6;"r.d")' met "Reguliere expressies in formules mogelijk" geselecteerd zal de cellen in A1:A6 tellen die bevatten 'rad' en 'ROD'.


Als aanvullend daarop "Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn" niet is geselecteerd dan worden 'Fred', 'braderie', en 'Ridicuul' ook meegeteld. Als die instelling wel is geselecteerd, dan kan het worden bereikt door de expressie als volgt te noteren: '=AANTAL.ALS(A1:A6;".*r.d.*")'


reguliere expressie in functie AANTAL.ALS


Zoekacties met reguliere expressies binnen functies zijn altijd ongevoelig voor hoofdletters, ongeacht de instelling van het keuzevak "Hoofdletters/kleine letters" in het bovenstaande dialoogvenster - dus 'rad' en 'ROD' zullen altijd worden gevonden in het bovenstaande voorbeeld. Deze ongevoeligheid voor hoofdletters is ook van toepassing op de structuren ([:lower:]) en ([:upper:]) van reguliere expressies, die tekens overeen laten komen, ongeacht hoofd- of kleine letters. Zie issue 71000 voor enige achtergrondinformatie.

Reguliere expressies zullen niet werken in eenvoudige vergelijkingen. Bijvoorbeeld: ' A1="r.d" ' zal altijd ONWAAR teruggeven als A1 'rad' bevat, zelfs als reguliere expressies zijn ingeschakeld - het zal alleen WAAR teruggeven als A1 'r.d' bevat ('r' dan een punt en dan 'd'). Indien u het gebruik van reguliere expressies wilt testen, gebruik dan de functie 'AANTAL.ALS' - 'AANTAL.ALS(A1; "r.d")' zal '1' of '0' teruggeven, geínterpreteerd als WAAR of ONWAAR in formules zoals '=ALS(AANTAL.ALS(A1; "r.d");"hoera"; "boo")'

Activeren van de instelling "Reguliere expressies in formules mogelijk" betekent dat alle bovenstaande functies een speciale teken voor reguliere expressies vereisen (zoals haakjes) voor gebruik binnen tekenreeksen in formules, die kunnen worden "escaped" met behulp van een vooraf gaande backslash, hoewel zij geen deel uitmaken van een reguliere expressie. Deze backslashes moeten later worden verwijderd als de instelling later wordt gedeactiveerd.

Onthoud dat in OOo2.4 een wijziging van de instelling "Reguliere expressies in formules mogelijk" niet noodzakelijkerwijze wordt gereflecteerd in de resultaten, zelfs niet als een herberekening wordt geforceerd. Deze bug 89047 is niet va toepassing op OOo2.3 en is verholpen in OOo3.0.

Reguliere expressies in Calc Zoeken & vervangen

Zoeken & vervangen in Calc komt zeer overeen met Zoeken & vervangen in Writer, zoals beschreven in de 'HowTo voor reguliere expressies in Writer'. De volgende punten zijn interessant voor gebruikers van Calc:


  • Als een overeenkomst wordt gevonden, wordt de gehele cel geaccentueerd weergegeven, maar alleen de gevonden tekst zal worden vervangen. Zoeken naar, bijvoorbeeld, 'rood' zal een cel accentueren die 'roodbruine klei' bevat, en dat vervangen door niets zal de cel achterlaten met 'bruine klei'.


  • Indien Zoeken twee keer achter elkaar wordt gebruikt, zal, indien de tweede keer "Alleen huidige selectie" is geactiveerd, de tweede zoekactie alles van elke geselecteerde cel evalueren, niet alleen de gevonden tekenreeksen die er voor zorgden dat de cellen werden geselecteerd in de eerste zoekactie. Zoeken naar, bijvoorbeeld, 'joh?n', en dan "Alleen huidige selectie" activeren en zoeken naar 'sm.th', zal de cellen vinden die bevatten Jon Smith en Smythers, Johnathon.


  • Indien een cel een hard regeleinde bevat (ingevoerd met Ctrl-Enter), kan die worden gevonden met '\n'. Indien een cel bijvoorbeeld bevat 'rode hard_regeleinde kelen' dan zal het zoeken naar 'e\nk' en dat vervangen door niets de cel achterlaten met 'rodelen'.


  • Het harde regeleinde dient als markering van "einde van de tekst" zoals dat wordt begrepen door het speciale teken voor reguliere expressies '$' (als aanvulling natuurlijk op het einde van de tekst in de cel). Indien een cel bijvoorbeeld bevat 'rode hard_regeleinde kelen' dan zal het zoeken naar 'de$' en dat vervangen door 'uze' de cel achterlaten met 'reuze hard_regeleinde kelen'. Onthoud dat met deze syntaxis het harde regeleinde niet wordt vervangen - het markeert eenvoudigweg het einde van de tekst.


  • Gebruiken van '\n' in het vak 'Vervangen door' zal dat vervangen door de letterlijke tekens '\n', niet door een hard regeleinde.


  • Het dialoogvenster Zoeken & vervangen heeft een optie om 'Formules', 'Waarden' of 'Notities' te zoeken. Dit is van toepassing op elke zoekactie, niet alleen die welke reguliere expressies gebruiken. Zoeken met de optie 'Formules' zou vinden 'SOM' in een cel die de formule '=SOM(A1:A6)' bevat. Indien een cel tekst bevat in plats van een functie, zal de tekst nog steeds worden gevonden - zodat de eenvoudige tekst 'OPSOMMING' in een cel ook een overeenkomst zal geven voor 'SOM' bij gebruik van de optie 'Formules'.


  • Zoeken naar de reguliere expressie '^$' zal geen lege cellen vinden. Dit is opzettelijk zo gedaan - het rationele is om problemen met de uitvoering te vermijden bij het selecteren van een groot aantal cellen. Onthoud dat lege cellen niet zullen worden gevonden, zelfs niet als u slechts binnen een selectie zoekt.


  • Zoeken naar '.+' (of soortgelijk) en dat Vervangen door '&' voert effectief de inhoud van cellen opnieuw in. Dit kan worden gebruikt om opmaak 'te strippen' die automatisch wordt toegepast door Calc (vaak nodig om gegeven 'te schonen' die werden geïmporteerd vanaf het klembord of slecht opgemaakte bestanden), bijvoorbeeld om tekst-tekenreeksen die bestaan uit cijfers, te converteren naar echte getallen (de cellen moeten eerst correct worden opgemaakt met 'getal'). De voorafgaande apostrofs, die Calc vertellen om de getallen als tekst te behandelen, worden verwijderd.


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages