From 6ea92d50ed2c94d9d14b9754c392d4db3f311c12 Mon Sep 17 00:00:00 2001 From: Emily Grace Seville Date: Tue, 21 Feb 2023 19:57:06 +1000 Subject: [PATCH] expr: refresh page (#7999) * Refresh page: - better grammar in descriptions - more examples - reorder examples * Fix the last example * Some rewordings Co-authored-by: Muhammad Falak R Wani * Rewording again * Fix errors * Change placeholders: - use an actual value in some placeholders - use generic placeholders instead of some actual values * Add note about supported operators * Update pages/common/expr.md Co-authored-by: K.B.Dharun Krishna * Fix quoting and simplify descriptions * Fix `index` description * Apply suggestions from code review --------- Co-authored-by: Muhammad Falak R Wani Co-authored-by: K.B.Dharun Krishna --- pages/common/expr.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/pages/common/expr.md b/pages/common/expr.md index 51131fd70..75bdfd3e4 100644 --- a/pages/common/expr.md +++ b/pages/common/expr.md @@ -3,22 +3,30 @@ > Evaluate expressions and manipulate strings. > More information: . -- Get string length: +- Get the length of a specific string: -`expr length {{string}}` +`expr length "{{string}}"` -- Evaluate logical or math expression with an operator ('+', '-', '*', '&', '|', etc.). Special symbols should be escaped: +- Get the substring of a string with a specific length: -`expr {{first_argument}} {{operator}} {{second_argument}}` +`expr substr "{{string}}" {{from}} {{length}}` -- Get position of the first character in 'string' that matches 'substring': +- Match a specific substring against an anchored pattern: -`echo $(expr index {{string}} {{substring}})` +`expr match "{{string}}" '{{pattern}}'` -- Extract part of the string: +- Get the first char position from a specific set in a string: -`echo $(expr substr {{string}} {{position_to_start}} {{number_of_characters}}` +`expr index "{{string}}" "{{chars}}"` -- Extract part of the string which matches a regular expression: +- Calculate a specific mathematic expression: -`echo $(expr {{string}} : '\({{regular_expression}}\)')` +`expr {{expression1}} {{+|-|*|/|%}} {{expression2}}` + +- Get the first expression if its value is non-zero and not null otherwise get the second one: + +`expr {{expression1}} \| {{expression2}}` + +- Get the first expression if both expressions are non-zero and not null otherwise get zero: + +`expr {{expression1}} \& {{expression2}}`