Difference between revisions of "FR/Documentation/Expressions Regulieres dans Calc"
Line 9: | Line 9: | ||
Les expressions régulières sont disponible dans Calc par : | Les expressions régulières sont disponible dans Calc par : | ||
− | *Menu - | + | *Menu - Édition - boîte de dialogue 'Rechercher & remplacer' |
*Menu - Données - Filtre - Filtre Standard | *Menu - Données - Filtre - Filtre Standard | ||
Line 17: | Line 17: | ||
Le meilleur moyen d'apprendre a utiliser les expressions regulieres dans Calc est de commencer par comprendre comme utiliser le menu 'Rechercher & remplacer'. Ceci est couvert par '<b>[[Documentation/FR/Expressions_Regulieres_dans_Writer|Les expressions régulières dans Writer]]</b>', que vous devriez lire. | Le meilleur moyen d'apprendre a utiliser les expressions regulieres dans Calc est de commencer par comprendre comme utiliser le menu 'Rechercher & remplacer'. Ceci est couvert par '<b>[[Documentation/FR/Expressions_Regulieres_dans_Writer|Les expressions régulières dans Writer]]</b>', que vous devriez lire. | ||
− | + | Dans Calc, les expressions régulières sont appliquées séparément à chaque cellule (vous verrez que les expressions régulières sont appliquées séparément à chaque paragraphe dans Writer). Ainsi une recherche sur '<b>c.s</b>' correspondra à cas dans la cellule A1 mais ne correspondra pas à '<b>c</b>' dans la cellule A2 avec '<b>s</b>' (ou '<b>as</b>') dans la cellule A3 (l'expression régulière '<b>c.s</b>' signifie 'essaie de correspondre à '<b>c</b>' suivi par un autre caractère suivi par '<b>s</b>' '). | |
− | |||
== Expressions régulières dans les fonctions Calc == | == Expressions régulières dans les fonctions Calc == |
Revision as of 09:06, 14 April 2008
Introduction
En terme simple, les expressions régulières sont une facon astucieuse de trouver du texte ; par exemple pour situer toutes les cellules contenant me ou femme dans votre feuille de calcul, vous pouvez faire une recherche utilisant les expressions régulières.
Expressions régulières dans Calc et Writer
Les expressions régulières sont disponible dans Calc par :
- Menu - Édition - boîte de dialogue 'Rechercher & remplacer'
- Menu - Données - Filtre - Filtre Standard
- Les fonctions, comme SOMME.SI, RECHERCHE
Le meilleur moyen d'apprendre a utiliser les expressions regulieres dans Calc est de commencer par comprendre comme utiliser le menu 'Rechercher & remplacer'. Ceci est couvert par 'Les expressions régulières dans Writer', que vous devriez lire.
Dans Calc, les expressions régulières sont appliquées séparément à chaque cellule (vous verrez que les expressions régulières sont appliquées séparément à chaque paragraphe dans Writer). Ainsi une recherche sur 'c.s' correspondra à cas dans la cellule A1 mais ne correspondra pas à 'c' dans la cellule A2 avec 's' (ou 'as') dans la cellule A3 (l'expression régulière 'c.s' signifie 'essaie de correspondre à 'c' suivi par un autre caractère suivi par 's' ').
Expressions régulières dans les fonctions Calc
There are a number of functions in Calc which allow the use of regular expressions:
Plusieurs fonctions de Calc permettent l'utilisation des expressions régulières :
'SUMIF',
'COUNTIF',
'MATCH',
'SEARCH',
'LOOKUP',
'HLOOKUP',
'VLOOKUP',
'DCOUNT',
'DCOUNTA',
'DSUM',
'DPRODUCT',
'DMAX',
'DMIN',
'DAVERAGE',
'DSTDEV',
'DSTDEVP',
'DVAR',
'DVARP',
'DGET'
Whether or not regular expressions are used is selected on the Tools - Options - OpenOffice.org Calc - Calculate dialog:
Utiliser ou non les expressions régulières se paramètre par Outils > Options > OOo Calc "Autoriser les caractères génériques dans les formules" :
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'. Additionally if "Search criteria = and <> must apply to whole cells" is not selected then 'Fred', 'bride', and 'Ridge' will also be counted.
Regular expression searches within functions are always case insensitive, 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.
Regular expressions will not work in simple comparisons. For example: ' A1="r.d" ' will always return FALSE if A1 contains 'red', even if regular expressions are enabled - it will only return TRUE if A1 contains 'r.d' ('r' then a dot then 'd'). If you wish to test using regular expressions, try the 'COUNTIF' function - 'COUNTIF(A1; "r.d")' will return '1' or '0', interpreted as TRUE or FALSE in formulae like '=IF(COUNTIF(A1; "r.d");"hooray"; "boo")'
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.
Expressions régulières dans Calc, rechercher et remplacer
Find & Replace in Calc is very similar to Find & Replace in Writer, as described in the 'HowTo for Regular Expressions in Writer'. The following points are interesting to Calc users:
- When a match is found, the whole cell is shown highlighted, but only the text found will be replaced. For example, searching for 'brown' will highlight a cell containing 'redbrown clay', and replacing with nothing will leave the cell containg 'red clay'.
- If a cell contains a hard line break (entered by Cntrl-Enter), this may be found by '\n'. For example if a cell contains 'red hard_line_break clay' then searching for 'd\nc' and replacing with nothing leaves the cell containing 'relay'.
- The hard line break acts to mark "end of text" as understood by the regular expression special character '$' (in addition of course to the end of text in the cell). For example if a cell contains 'red hard_line_break clay' then a search for 'd$' replacing with 'al' leaves the cell with 'real hard_line_break clay'. Note that with this syntax the hard line break is not replaced - it simply marks the end of text.
- Using '\n' in the 'Replace with' box will replace with the literal characters '\n', not a hard line break.
- The Find & Replace dialog has an option to search 'Formulas', 'Values', or 'Notes'. This applies to any search, not just one using regular expressions. Searching with the 'Formulas' option would find 'SUM' in a cell containing the formula '=SUM(A1:A6)'. If a cell contains text instead of a function, the text will still be found - so that the simple text 'SUMMARY' in a cell would also give a match to 'SUM' using the 'Formulas' option.
- Searching for the regular expression '^$' 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.