Name
1
CLEAN_SOURCE
2
compress_formula
3
4
TEXT_STATS
5
byte_count
6
this_group_name
7
regex_group_name
8
TOKENIZE_WORDS
9
EXTRACT_TYPEDEFS
10
regex_compile_lite
11
avg_word_length
12
get_now
13
test
14
to_unix
15
paragraph_count
16
avg_paragraph_length
17
avg_sentence_length
18
word_count
19
20
21
has_global_dependencies
22
JS_KEYWORDS
23
sentence_count
24
unique_regex_group_name
25
LIST_FORMULA_CALLS
26
Ƒormula_Count
27
28
linked_groups
29
linked_records_to_regex_groups
30
Drag to adjust the number of frozen columns
Source
replace
data
roGroups
meta
roReplacementMap
importFormula
Docs
REGEX_REPLACE(
  {Source},
REGEX_REPLACE( {Source}, '(^\\s*)?(((?P<str>(\\x22([^\\x22\\x5c]*(\\x5c\\x22)*)*\\x22)|(\\x27([^\\x27\\x5c]*(\\x5c\\x27)*)*\\x27)|(\\x60([^\\x60\\x5c]*(\\x5c\\x60)*)*\\x60))))|(([/][*](?s).*?[*][/])|([/]{2}.*))([\\s;]*$)?', '$<str>' )
name: CLEAN_SOURCE id: recpOGkQ8UQPcUwyy dependencies: [] source:␂REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\x5c]*(\x5c\x27)*)*\x27)|(\x60([^\x60\x5c]*(\x5c\x60)*)*\x60))))|(([/][*](?s).*?[*][/])|([/]{2}.*))([\s;]*$)?','$<str>')␃ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name: compress_formula id: rec7g8nfJfubQr4sm dependencies: [] source:␂REGEX_REPLACE(REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\n\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\n\x5c]*(\x5c\x27)*)*\x27))))|(([/][*](?s).*?[*][/])|([/]{2}.*))|(\s+)|([\s;]*$)?','$<str>'),'(?:(?P<slash>\x5c)\x5c)|(\x22\s*&\s*\x22)|(\x27\s*&\s*\x27)|((\x22(?P<str0>[^\x27\x22\x5c]*)\x22)|(\s*&\s*)|((?P<_>\x27)(?P<str1>[^\x27\x22\x5c]*)\x27)){3}|\s+','$<slash>$<_>$<str0>$<str1>$<_>')␃
(?P<customImport>((?P<recpOGkQ8UQPcUwyy>CLEAN_SOURCE)|(?P<rec7g8nfJfubQr4sm>compress_formula))\s*[(](?P<args>[{\w},:\s]*)?\s*[)])
name: CLEAN_SOURCE id: recpOGkQ8UQPcUwyy dependencies: [] source:␂REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\x5c]*(\x5c\x27)*)*\x27)|(\x60([^\x60\x5c]*(\x5c\x60)*)*\x60))))|(([/][*](?s).*?[*][/])|([/]{2}.*))([\s;]*$)?','$<str>')␃
⎡@recpOGkQ8UQPcUwyy❲$<recpOGkQ8UQPcUwyy>❳≝❲$<args>❳␂REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\x5c]*(\x5c\x27)*)*\x27)|(\x60([^\x60\x5c]*(\x5c\x60)*)*\x60))))|(([/][*](?s).*?[*][/])|([/]{2}.*))([\s;]*$)?','$<str>')␃⎦⎡@rec7g8nfJfubQr4sm❲$<rec7g8nfJfubQr4sm>❳≝❲$<args>❳␂REGEX_REPLACE(REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\n\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\n\x5c]*(\x5c\x27)*)*\x27))))|(([/][*](?s).*?[*][/])|([/]{2}.*))|(\s+)|([\s;]*$)?','$<str>'),'(?:(?P<slash>\x5c)\x5c)|(\x22\s*&\s*\x22)|(\x27\s*&\s*\x27)|((\x22(?P<str0>[^\x27\x22\x5c]*)\x22)|(\s*&\s*)|((?P<_>\x27)(?P<str1>[^\x27\x22\x5c]*)\x27)){3}|\s+','$<slash>$<_>$<str0>$<str1>$<_>')␃⎦
CLEAN_SOURCE
compress_formula
␂␂
REGEX_REPLACE(REGEX_REPLACE({Source},'(^\\s*)?(((?P<str>(\\x22([^\\x22\n\\x5c]*(\\x5c\\x22)*)*\\x22)|(\\x27([^\\x27\n\\x5c]*(\\x5c\\x27)*)*\\x27))))|(([/][*](?s).*?[*][/])|([/]{2}.*))|(\\s+)|([\\s;]*$)?','$<str>'),'(?:(?P<slash>\\x5c)\\x5c)|(\\x22\\s*&\\s*\\x22)|(\\x27\\s*&\\s*\\x27)|((\\x22(?P<str0>[^\\x27\\x22\\x5c]*)\\x22)|(\\s*&\\s*)|((?P<_>\\x27)(?P<str1>[^\\x27\\x22\\x5c]*)\\x27)){3}|\\s+','$<slash>$<_>$<str0>$<str1>$<_>')
REGEX_REPLACE(REGEX_REPLACE({Source},'(^\\s*)?(((?P<str>(\\x22([^\\x22\n\\x5c]*(\\x5c\\x22)*)*\\x22)|(\\x27([^\\x27\n\\x5c]*(\\x5c\\x27)*)*\\x27))))|(([/][*](?s).*?[*][/])|([/]{2}.*))|(\\s+)|([\\s;]*$)?','$<str>'),'(?:(?P<slash>\\x5c)\\x5c)|(\\x22\\s*&\\s*\\x22)|(\\x27\\s*&\\s*\\x27)|((\\x22(?P<str0>[^\\x27\\x22\\x5c]*)\\x22)|(\\s*&\\s*)|((?P<_>\\x27)(?P<str1>[^\\x27\\x22\\x5c]*)\\x27)){3}|\\s+','$<slash>$<_>$<str0>$<str1>$<_>')
name: compress_formula id: rec7g8nfJfubQr4sm dependencies: [] source:␂REGEX_REPLACE(REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\n\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\n\x5c]*(\x5c\x27)*)*\x27))))|(([/][*](?s).*?[*][/])|([/]{2}.*))|(\s+)|([\s;]*$)?','$<str>'),'(?:(?P<slash>\x5c)\x5c)|(\x22\s*&\s*\x22)|(\x27\s*&\s*\x27)|((\x22(?P<str0>[^\x27\x22\x5c]*)\x22)|(\s*&\s*)|((?P<_>\x27)(?P<str1>[^\x27\x22\x5c]*)\x27)){3}|\s+','$<slash>$<_>$<str0>$<str1>$<_>')␃
REGEX_REPLACE(
  REGEX_REPLACE(
#ERROR!
name: id: rec4vDOCcDUUwPdEt dependencies: [] source:␂REGEX_REPLACE(REGEX_REPLACE(Code,'(?P<customImport>'&SUBSTITUTE(REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?m)(^name:\s*(?P<name>[^\n]+)$\nid:\s*(?P<id>rec\w{14})(?s).*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','(?P<$<id>>$<name>)$<n>'),'\n','|')&'\s*[(]\s*[)])',SUBSTITUTE(REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?m)(^name:\s*(?P<name>[^\n]+)$\nid:\s*(?P<id>rec\w{14})(?s).*?^sourceCode:\s*␂(?P<CODE>[^␃]+)␃.*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','⎡@$<id>❲@<$<id>>❳␂$<CODE>␃⎦$<n>$<n>'),'❲@<','❲$<')),'(?s)(⎡@\w+❲❳.*?␃⎦)|(⎡@\w+❲[^❳]+❳.*?␂(?P<INSERT>.*?)␃⎦)','$<INSERT>')␃

REGEX_REPLACE(

REGEX_REPLACE(

#ERROR!
name: TEXT_STATS id: recZW0TEVth13cGKF dependencies: [] source:␂REGEX_REPLACE(REGEX_REPLACE(SUBSTITUTE({articleStats},',','\n'),'(?i)((?P<chars>char(acter)?s?.?(count)?)|(?P<words>words?.?(count)?)|(?P<bytes>bytes?.?(count)?)|(?P<fileCount>#?(attachment)|(file)s?.?#?(length|count))|(?P<fileNames>(attachment)|(file)s|(.?names))|(?P<fileLinks>(attachment)|(file).?(urls)|((hyper)?links)|(hrefs))|(?P<lines>#?lines?.?#?(count)?#?)|(?P<sentenceCount>#?.?sentences?.?#?.?(count)?)|(?P<paraCount>#?.?paragraphs?.?#?.?(count)?)|(?P<avgW>av(era)?ge?.{0,2}Word.?(Length)?)|(?P<avgPara>av(era)?ge?.{0,2}Paragraph.?(Length)?)|(?P<avgSent>av(era)?ge?.{0,2}Sentence.?(Length)?)|(?P<id>(record.?)?id(\s*[(]\s*[)])?))','❲$<words>:'&LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'\n$<T>'),'^\s+|\s+$|([^\n])[^\n]*\n?','$1'))'❳''❲$<chars>:'&LEN(Body)'❳''❲$<id>:'&RECORD_ID()'❳''❲$<bytes>:'&LEN(REGEX_REPLACE(Body,'\C','_'))'❳''❲$<sentenceCount>:'&LEN(REGEX_REPLACE(Body,'(?i)(\W*(?P<sentence>(?:[A-Z0-9])(?:[^\?\.\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\d+[.]\d+)))+?(?:(?P<punc>[!?.\p{Pi}\p{Pf}]{1,3})\s*))\W*)|(?s).+','$<punc>'))'❳''❲$<lines>:'&LEN(REGEX_REPLACE({Body},'[^\n]+\n?','.'))'❳''❲$<avgW>:'&ROUND(LEN(REGEX_REPLACE(({Body}),"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'$<T>'))/LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'\n$<T>'),'^\s+|\s+$|([^\n])[^\n]*\n?','$1')),2)'❳''❲$<avgPara>:'&ROUND(LEN(REGEX_REPLACE(Body,'(?i)(\W*(?P<sentence>(?:[A-Z0-9])(?:[^\?\.\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\d+[.]\d+)))+?(?:(?P<punc>[!?.\p{Pi}\p{Pf}]{1,3})\s*))\W*)|(?s).+','$<punc>'))/LEN(REGEX_REPLACE(Body,'(([^\n]+)+\n*)','_')),2)'❳''❲$<avgSent>:'&ROUND(LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'\n$<T>'),'^\s+|\s+$|([^\n])[^\n]*\n?','$1'))/LEN(REGEX_REPLACE(Body,'(?i)(\W*(?P<sentence>(?:[A-Z0-9])(?:[^\?\.\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\d+[.]\d+)))+?(?:(?P<punc>[!?.\p{Pi}\p{Pf}]{1,3})\s*))\W*)|(?s).+','$<punc>')),2)'❳''❲$<paraCount>:'&LEN(REGEX_REPLACE(Body,'(([^\n]+)+\n*)','_'))'❳''❲$<fileCount>:'&LEN(REGEX_REPLACE(REGEX_REPLACE(Files,'.+?\((?P<link>.*?)\)(?:(,\s?)\s*)*','$<link>$2'),'[^,]+,?','_'))'❳''❲$<fileLinks>:['&REGEX_REPLACE(Files,'.+?\((?P<link>.*?)\)(?:(,\s?)\s*)*','$<link>$2')']❳''❲$<fileNames>:['&REGEX_REPLACE(Files,'\s*\(.*?\)(?:(,\s?)\s*)*','$1')&']❳'),'❲:[^❳]+❳|❲(?P<insert>[^:]+:[^❳]+)❳','$<insert>')␃
LEN(REGEX_REPLACE({Code},'\\C','_'))
LEN(REGEX_REPLACE({Code},'\\C','_'))
name: byte_count id: reconxjGHNkvEGVqB dependencies: [] source:␂LEN(REGEX_REPLACE({Code},'\C','_'))␃

SUBSTITUTE(

REGEX_REPLACE(

#ERROR!
name: this_group_name id: recLXMrKKZaMH4NHK dependencies: [] source:␂SUBSTITUTE(REGEX_REPLACE(REGEX_REPLACE(SUBSTITUTE(groupName,',','\n'),'(?i)(?P<id>(record_)?id(\s*([(]\s*[)]))?)|(?P<created>created(_time)?(\s*[(]\s*[)])?)|(?P<index>index)|(?P<name>name)','❲$<id>:'&RECORD_ID()'❳''❲$<created>:'&DATETIME_FORMAT(CREATED_TIME(),'X')'❳''❲$<index>:'&index'❳''❲$<name>:'&REGEX_EXTRACT(Name&'\n'&RECORD_ID(),'\w+')&'❳',RECORD_ID()),'(?:❲:[^❳]+❳)+|(?:❲[^:]+:\s*❳)+|❲[^:][^:]+:\s*([^❳]+)❳|.+','$1'),'\n','_')␃
TRIM(
  REGEX_REPLACE(
TRIM( REGEX_REPLACE( {target}, '(?U)(.*[(][?][P][<](?P<groupName>.+)[>].*[)].*\\s?)|(.+)', '$<groupName>\n' ) )
name: regex_group_name id: recHa3kHtYTnZklYV dependencies: [] source:␂TRIM(REGEX_REPLACE({target},'(?U)(.*[(][?][P][<](?P<groupName>.+)[>].*[)].*\s?)|(.+)','$<groupName>\n'))␃

Filters a stringified regular expression pattern for capture group names,

REGEX_REPLACE(
  {Text},
REGEX_REPLACE( {Text}, "(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+", '\n$<T>' )
name: TOKENIZE_WORDS id: rec62Namjc6xllMJ1 dependencies: [] source:␂REGEX_REPLACE({Text},"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'\n$<T>')␃

A fast and reliable tokenizer that won't trip up on non-alphabet characters, date spelling conventions, smartphone model numbers, and so on. Regular expressions aren't the most scalable technology ever invented, but this one is condensed into a single formula and will hold its own in any scenario.

Counting the number of newlines in the formula's output will give you the exact word/token count.

REGEX_REPLACE(
  REGEX_REPLACE(
REGEX_REPLACE( REGEX_REPLACE( REGEX_REPLACE( {source}, '(?s).*?(?:(\\s*[/][*][*\\s]+@typedef.*?[*][/])(\n{0,2}))|(^\\s+)|(\\s+$)|.+?', '$1$2' ), '(\\s*(?P<ast>[*])[*]*[/]\\x20*(?P<N>\n)?\\s*[/][*]+)|((?m)^(?P<_>\\x20)\\s+)|((?m)^\\s+(?P<end>[*]+[/]))', '$<N> $<ast>$<end>' ) )
name: EXTRACT_TYPEDEFS id: recEa6Cl6CSrBDOGW dependencies: [] source:␂REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE({source},'(?s).*?(?:(\s*[/][*][*\s]+@typedef.*?[*][/])(\n{0,2}))|(^\s+)|(\s+$)|.+?','$1$2'),'(\s*(?P<ast>[*])[*]*[/]\x20*(?P<N>\n)?\s*[/][*]+)|((?m)^(?P<_>\x20)\s+)|((?m)^\s+(?P<end>[*]+[/]))','$<N>$<ast>$<end>'))␃

Super-useful for recompiling documentation from a fragmented / dynamic module, or bundle thereof.

REGEX_REPLACE(
  SWITCH(
#ERROR!
name: regex_compile_lite id: recv3VP2lbsHbwmZV dependencies: [] source:␂REGEX_REPLACE(SWITCH(LOWER(Type),'namedgroup',REGEX_REPLACE(Source,'(^[(][?]P<\w+>(?s)(?P<body>.+)[)]$)|(^(?P<all>(?s).+)$)','(?P<'&SUBSTITUTE(IF(OR(AND(LOWER(Type)='namedgroup',''=REGEX_REPLACE(Name,'^\d|\W+' = groupName),AND(Type='NamedGroup',groupName='')),RECORD_ID(),SUBSTITUTE(REGEX_REPLACE(REGEX_REPLACE(SUBSTITUTE(groupName,',','\n'),'(?i)(?P<id>(record_)?id(\s*([(]\s*[)]))?)|(?P<created>created(_time)?(\s*[(]\s*[)])?)|(?P<index>index)|(?P<name>name)','❲$<id>:'&RECORD_ID()'❳''❲$<created>:'&DATETIME_FORMAT(CREATED_TIME(),'X')'❳''❲$<index>:'&index'❳''❲$<name>:'&IF(TRIM(Name),REGEX_REPLACE(Name,'^[^\p{L}_$]|[^\w_$]','_'),RECORD_ID())&'❳',RECORD_ID()),'(?:❲:[^❳]+❳)+|(?:❲[^:]+:\s*❳)+|❲[^:][^:]+:\s*([^❳]+)❳|.+','$1'),'\n','_')),RECORD_ID(),'',2)&'>$<body>$<all>)'),'non-capturinggroup',REGEX_REPLACE(Source,'^(?s)(?:(?:[(][?][:])(.+)[)]$)|(.+)','(?:$1$2)'),Source),'(?P<slash>\x5c)\x5c','$<slash>')␃

ROUND(LEN(REGEX_REPLACE(({Body}),"(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+",'$<T>')) / LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+",'\n$<T>'),'^\\s+|\\s+$|([^\n])[^\n]*\n?','$1')),2)

ROUND(LEN(REGEX_REPLACE(({Body}),"(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+",'$<T>')) / LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+",'\n$<T>'),'^\\s+|\\s+$|([^\n])[^\n]*\n?','$1')),2)
name: avg_word_length id: recwr06BZJn6Pa7BJ dependencies: [] source:␂ROUND(LEN(REGEX_REPLACE(({Body}),"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'$<T>'))/LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'\n$<T>'),'^\s+|\s+$|([^\n])[^\n]*\n?','$1')),2)␃
'now: ' & NOW()
'now: ' & NOW()
name: get_now id: recqHLaFLBcYXu4aM dependencies: [] source:␂'now:'&NOW()␃

get_now()

#ERROR!
name: get_now id: recqHLaFLBcYXu4aM dependencies: [] source:␂'now:'&NOW()␃ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name: to_unix id: reca8KlbSZGfgCi4Q dependencies: [] source:␂DATETIME_FORMAT(created_TIME(),'X')␃ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name: byte_count id: reconxjGHNkvEGVqB dependencies: [] source:␂LEN(REGEX_REPLACE({Code},'\C','_'))␃
(?P<customImport>((?P<recqHLaFLBcYXu4aM>get_now)|(?P<reca8KlbSZGfgCi4Q>to_unix)|(?P<reconxjGHNkvEGVqB>byte_count))\s*[(](?P<args>[{\w},:\s]*)?\s*[)])
name: test id: recHNk6gEcPXPp0hr dependencies: [] source:␂get_now()␃
⎡@recqHLaFLBcYXu4aM❲$<recqHLaFLBcYXu4aM>❳≝❲$<args>❳␂'now:'&NOW()␃⎦⎡@reca8KlbSZGfgCi4Q❲$<reca8KlbSZGfgCi4Q>❳≝❲$<args>❳␂DATETIME_FORMAT(created_TIME(),'X')␃⎦⎡@reconxjGHNkvEGVqB❲$<reconxjGHNkvEGVqB>❳≝❲$<args>❳␂LEN(REGEX_REPLACE({Code},'\C','_'))␃⎦
get_now
to_unix
byte_count

DATETIME_FORMAT(created_TIME(),'X')

DATETIME_FORMAT(created_TIME(),'X')
name: to_unix id: reca8KlbSZGfgCi4Q dependencies: [] source:␂DATETIME_FORMAT(created_TIME(),'X')␃
LEN(REGEX_REPLACE(Body,'(([^\n]+)+\n*)','_'))
LEN(REGEX_REPLACE(Body,'(([^\n]+)+\n*)','_'))
name: paragraph_count id: recIaDtaJyUJPpWMq dependencies: [] source:␂LEN(REGEX_REPLACE(Body,'(([^\n]+)+\n*)','_'))␃
ROUND(LEN(REGEX_REPLACE(Body,'(?i)(\\W*(?P<sentence>(?:[A-Z0-9])(?:[^\\?\\.\\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\\d+[.]\\d+)))+?(?:(?P<punc>[!?.\\p{Pi}\\p{Pf}]{1,3})\\s*))\\W*)|(?s).+','$<punc>'))/LEN(REGEX_REPLACE(Body,'(([^\n]+)+\n*)','_')),2)
ROUND(LEN(REGEX_REPLACE(Body,'(?i)(\\W*(?P<sentence>(?:[A-Z0-9])(?:[^\\?\\.\\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\\d+[.]\\d+)))+?(?:(?P<punc>[!?.\\p{Pi}\\p{Pf}]{1,3})\\s*))\\W*)|(?s).+','$<punc>'))/LEN(REGEX_REPLACE(Body,'(([^\n]+)+\n*)','_')),2)
name: avg_paragraph_length id: recUeu8Jc6MpW9C8U dependencies: [] source:␂ROUND(LEN(REGEX_REPLACE(Body,'(?i)(\W*(?P<sentence>(?:[A-Z0-9])(?:[^\?\.\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\d+[.]\d+)))+?(?:(?P<punc>[!?.\p{Pi}\p{Pf}]{1,3})\s*))\W*)|(?s).+','$<punc>'))/LEN(REGEX_REPLACE(Body,'(([^\n]+)+\n*)','_')),2)␃
ROUND(LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+",'\n$<T>'),'^\\s+|\\s+$|([^\n])[^\n]*\n?','$1'))/LEN(REGEX_REPLACE(Body,'(?i)(\\W*(?P<sentence>(?:[A-Z0-9])(?:[^\\?\\.\\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\\d+[.]\\d+)))+?(?:(?P<punc>[!?.\\p{Pi}\\p{Pf}]{1,3})\\s*))\\W*)|(?s).+','$<punc>')),2)
ROUND(LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+",'\n$<T>'),'^\\s+|\\s+$|([^\n])[^\n]*\n?','$1'))/LEN(REGEX_REPLACE(Body,'(?i)(\\W*(?P<sentence>(?:[A-Z0-9])(?:[^\\?\\.\\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\\d+[.]\\d+)))+?(?:(?P<punc>[!?.\\p{Pi}\\p{Pf}]{1,3})\\s*))\\W*)|(?s).+','$<punc>')),2)
name: avg_sentence_length id: recZCxxlcks45DEbM dependencies: [] source:␂ROUND(LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'\n$<T>'),'^\s+|\s+$|([^\n])[^\n]*\n?','$1'))/LEN(REGEX_REPLACE(Body,'(?i)(\W*(?P<sentence>(?:[A-Z0-9])(?:[^\?\.\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\d+[.]\d+)))+?(?:(?P<punc>[!?.\p{Pi}\p{Pf}]{1,3})\s*))\W*)|(?s).+','$<punc>')),2)␃
LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+",'\n$<T>'),'^\\s+|\\s+$|([^\n])[^\n]*\n?','$1'))
LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\\b|\\W)*(?P<T>(\\p{L}*[\\p{L}-]*([']\\p{L}+)?)*(?P<D>\\d+([.,]\\d+){0,2}\\w*)*)*\\s*|(\\p{P})+",'\n$<T>'),'^\\s+|\\s+$|([^\n])[^\n]*\n?','$1'))
name: word_count id: recGbmaE7V72eevIh dependencies: [] source:␂LEN(REGEX_REPLACE(REGEX_REPLACE(TRIM({Body}),"(\b|\W)*(?P<T>(\p{L}*[\p{L}-]*([']\p{L}+)?)*(?P<D>\d+([.,]\d+){0,2}\w*)*)*\s*|(\p{P})+",'\n$<T>'),'^\s+|\s+$|([^\n])[^\n]*\n?','$1'))␃
IF(

#ERROR!
name: id: recOcZEgrZmaTeYtd dependencies: [] source:␂IF(REGEX_MATCH({Source},'(\bbase|console|cursor|input|output|remoteFetchAsync|session\b)'),'⚠️Thisfilecontainsglobaldependencies.ThefullversionofMablecontainsutilitiesforauto-resolvingreferencestoglobalAirtableobjects.APIdependencies')␃
(?P<DMS>
  (
#ERROR!
name: id: recAcs99OrIaQaDeu dependencies: [] source:␂(?P<DMS>((?P<latitude>(?P<lat_degrees>\d+([.]\d+)?)[°]\s*(?P<lat_minutes>\d+([.]\d+)?)[’\']\s*(?P<lat_seconds>\d+([.]\d+)?)["]\s*(?P<lat_line>(?i)N|(?P<lat_negative>S)))|(?P<longitude>(?P<lon_degrees>\d+([.]\d+)?)[°]\s*(?P<lon_minutes>\d+([.]\d+)?)[’\']\s*(?P<lon_seconds>\d+([.]\d+)?)["]\s*(?P<lon_line>(?i)E|(?P<lon_negative>W))))|\s+){1,}|(?s).+␃

### DMS_Token_Pattern

The approach is based on the following regular expression:

REGEX_MATCH(
  REGEX_REPLACE({source},'(?P<HAS_GLOBAL_DEPENDENCIES>(?:\\x27(?:[^\\x27\\x5c\n]*(?:\\x5c\\x27|[^\\x27\n])*)\\x27)|(?:\\x22(?:[^\\x22\\x5c\n]*(?:\\x5c\\x22|[^\\x22\n])*)\\x22)|(?:\\x60(?:[^\\x60\\x5c]*(?:\\x5c\\x60|[^\\x60])*)\\x60))',''),'(\\b(base|console|cursor|input|output|remoteFetchAsync|session)\\b)'
REGEX_MATCH( REGEX_REPLACE({source},'(?P<HAS_GLOBAL_DEPENDENCIES>(?:\\x27(?:[^\\x27\\x5c\n]*(?:\\x5c\\x27|[^\\x27\n])*)\\x27)|(?:\\x22(?:[^\\x22\\x5c\n]*(?:\\x5c\\x22|[^\\x22\n])*)\\x22)|(?:\\x60(?:[^\\x60\\x5c]*(?:\\x5c\\x60|[^\\x60])*)\\x60))',''),'(\\b(base|console|cursor|input|output|remoteFetchAsync|session)\\b)' )
name: has_global_dependencies id: recJ5mFUt3e5eLTug dependencies: [] source:␂REGEX_MATCH(REGEX_REPLACE({source},'(?P<HAS_GLOBAL_DEPENDENCIES>(?:\x27(?:[^\x27\x5c\n]*(?:\x5c\x27|[^\x27\n])*)\x27)|(?:\x22(?:[^\x22\x5c\n]*(?:\x5c\x22|[^\x22\n])*)\x22)|(?:\x60(?:[^\x60\x5c]*(?:\x5c\x60|[^\x60])*)\x60))',''),'(\b(base|console|cursor|input|output|remoteFetchAsync|session)\b)')␃
\bawait|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|super|switch|static|this|throw|try|True|typeof|var|void|while|with|yield\b
\bawait|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|super|switch|static|this|throw|try|True|typeof|var|void|while|with|yield\b
name: JS_KEYWORDS id: recyx65YrNBr7DrVj dependencies: [] source:␂\bawait|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|super|switch|static|this|throw|try|True|typeof|var|void|while|with|yield\b␃
LEN(REGEX_REPLACE(Body,'(?i)(\\W*(?P<sentence>(?:[A-Z0-9])(?:[^\\?\\.\\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\\d+[.]\\d+)))+?(?:(?P<punc>[!?.\\p{Pi}\\p{Pf}]{1,3})\\s*))\\W*)|(?s).+','$<punc>'))
LEN(REGEX_REPLACE(Body,'(?i)(\\W*(?P<sentence>(?:[A-Z0-9])(?:[^\\?\\.\\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\\d+[.]\\d+)))+?(?:(?P<punc>[!?.\\p{Pi}\\p{Pf}]{1,3})\\s*))\\W*)|(?s).+','$<punc>'))
name: sentence_count id: rec4sRmeNHSsCPXFJ dependencies: [] source:␂LEN(REGEX_REPLACE(Body,'(?i)(\W*(?P<sentence>(?:[A-Z0-9])(?:[^\?\.\!]+|(?:(abbr[.])|(?:m(?:r|s){1,2})|(?:e[.]g[.])|(?:fig[.])|(?:\d+[.]\d+)))+?(?:(?P<punc>[!?.\p{Pi}\p{Pf}]{1,3})\s*))\W*)|(?s).+','$<punc>'))␃
REGEX_REPLACE(Name,'(^[^\\p{L}_$])|[^\\w_$]','_'
) & '_' & RECORD_ID()
REGEX_REPLACE(Name,'(^[^\\p{L}_$])|[^\\w_$]','_' ) & '_' & RECORD_ID()
name: unique_regex_group_name id: recmfuGEKEYCdnOSd dependencies: [] source:␂REGEX_REPLACE(Name,'(^[^\p{L}_$])|[^\w_$]','_')'_'RECORD_ID()␃
REGEX_REPLACE(UPPER(REGEX_REPLACE({Source},'((?s).*?((((\\x27([^\\x27\\x5c\n]*(\\x5c\\x27|[^\\x27\n])*)\\x27)|(\\x22([^\\x22\\x5c\n]*(\\x5c\\x22|[^\\x22\n])*)\\x22))|((?P<pre>\\b)(?P<afName>(?i)(A((BS)|(ND)|(VERAGE)|(RRAY((JOIN)|(COMPACT)|(FLATTEN)|(UNIQUE)))))|(CONCATENATE)|(T(RIM)?)|(SEARCH)|(ENCODE_URL_COMPONENT)|(SUBSTITUTE)|(FIND)|(LOWER)|(UPPER)|(REPT)|(M((ID)|(OD)))|(RIGHT)|(LE(N|(FT)))|(REPLACE)|(ERROR)|(BLANK)|(FALSE)|(IF)|(NOT)|(X?OR)|(ISERROR)|(SWITCH)|(TRUE)|(COUNTA)|(CEILING)|(COUNT)|(EVEN)|(COUNTALL)|(FLOOR)|(EXP)|(LOG)|(INT)|(POWER)|(ODD)|(MAX)|(ROUND)|(ROUNDUP)|(ROUNDDOWN)|(SUM)|(SQRT)|(VALUE)|(MIN)|(DATEADD)|(DATESTR)|(DATETIME_DIFF)|(DATETIME_PARSE)|(DATETIME_FORMAT)|(DAY)|(HOUR)|(IS_BEFORE)|(IS_AFTER)|(IS_SAME)|(MONTH)|(SET_LOCALE)|(MINUTE)|(SECOND)|(SET_TIMEZONE)|(NOW)|(TONOW)|(WEEKDAY)|(TIMESTR)|(WORKDAY)|(WEEKNUM)|(WORKDAY_DIFF)|(YEAR)|(TODAY)|(FROMNOW)|(LAST_MODIFIED_TIME)|(CREATED_TIME)|(RECORD_ID)|(REGEX_MATCH)|(REGEX_EXTRACT)|(REGEX_REPLACE))(?P<post>\\b))){1,2}).*?)|.+','$<afName>\n')),'^\\s+|(\n)\n+|\\s+$','$1')
REGEX_REPLACE(UPPER(REGEX_REPLACE({Source},'((?s).*?((((\\x27([^\\x27\\x5c\n]*(\\x5c\\x27|[^\\x27\n])*)\\x27)|(\\x22([^\\x22\\x5c\n]*(\\x5c\\x22|[^\\x22\n])*)\\x22))|((?P<pre>\\b)(?P<afName>(?i)(A((BS)|(ND)|(VERAGE)|(RRAY((JOIN)|(COMPACT)|(FLATTEN)|(UNIQUE)))))|(CONCATENATE)|(T(RIM)?)|(SEARCH)|(ENCODE_URL_COMPONENT)|(SUBSTITUTE)|(FIND)|(LOWER)|(UPPER)|(REPT)|(M((ID)|(OD)))|(RIGHT)|(LE(N|(FT)))|(REPLACE)|(ERROR)|(BLANK)|(FALSE)|(IF)|(NOT)|(X?OR)|(ISERROR)|(SWITCH)|(TRUE)|(COUNTA)|(CEILING)|(COUNT)|(EVEN)|(COUNTALL)|(FLOOR)|(EXP)|(LOG)|(INT)|(POWER)|(ODD)|(MAX)|(ROUND)|(ROUNDUP)|(ROUNDDOWN)|(SUM)|(SQRT)|(VALUE)|(MIN)|(DATEADD)|(DATESTR)|(DATETIME_DIFF)|(DATETIME_PARSE)|(DATETIME_FORMAT)|(DAY)|(HOUR)|(IS_BEFORE)|(IS_AFTER)|(IS_SAME)|(MONTH)|(SET_LOCALE)|(MINUTE)|(SECOND)|(SET_TIMEZONE)|(NOW)|(TONOW)|(WEEKDAY)|(TIMESTR)|(WORKDAY)|(WEEKNUM)|(WORKDAY_DIFF)|(YEAR)|(TODAY)|(FROMNOW)|(LAST_MODIFIED_TIME)|(CREATED_TIME)|(RECORD_ID)|(REGEX_MATCH)|(REGEX_EXTRACT)|(REGEX_REPLACE))(?P<post>\\b))){1,2}).*?)|.+','$<afName>\n')),'^\\s+|(\n)\n+|\\s+$','$1')
name: LIST_FORMULA_CALLS id: rec7YuMikoWQmFb6W dependencies: [] source:␂REGEX_REPLACE(UPPER(REGEX_REPLACE({Source},'((?s).*?((((\x27([^\x27\x5c\n]*(\x5c\x27|[^\x27\n])*)\x27)|(\x22([^\x22\x5c\n]*(\x5c\x22|[^\x22\n])*)\x22))|((?P<pre>\b)(?P<afName>(?i)(A((BS)|(ND)|(VERAGE)|(RRAY((JOIN)|(COMPACT)|(FLATTEN)|(UNIQUE)))))|(CONCATENATE)|(T(RIM)?)|(SEARCH)|(ENCODE_URL_COMPONENT)|(SUBSTITUTE)|(FIND)|(LOWER)|(UPPER)|(REPT)|(M((ID)|(OD)))|(RIGHT)|(LE(N|(FT)))|(REPLACE)|(ERROR)|(BLANK)|(FALSE)|(IF)|(NOT)|(X?OR)|(ISERROR)|(SWITCH)|(TRUE)|(COUNTA)|(CEILING)|(COUNT)|(EVEN)|(COUNTALL)|(FLOOR)|(EXP)|(LOG)|(INT)|(POWER)|(ODD)|(MAX)|(ROUND)|(ROUNDUP)|(ROUNDDOWN)|(SUM)|(SQRT)|(VALUE)|(MIN)|(DATEADD)|(DATESTR)|(DATETIME_DIFF)|(DATETIME_PARSE)|(DATETIME_FORMAT)|(DAY)|(HOUR)|(IS_BEFORE)|(IS_AFTER)|(IS_SAME)|(MONTH)|(SET_LOCALE)|(MINUTE)|(SECOND)|(SET_TIMEZONE)|(NOW)|(TONOW)|(WEEKDAY)|(TIMESTR)|(WORKDAY)|(WEEKNUM)|(WORKDAY_DIFF)|(YEAR)|(TODAY)|(FROMNOW)|(LAST_MODIFIED_TIME)|(CREATED_TIME)|(RECORD_ID)|(REGEX_MATCH)|(REGEX_EXTRACT)|(REGEX_REPLACE))(?P<post>\b))){1,2}).*?)|.+','$<afName>\n')),'^\s+|(\n)\n+|\s+$','$1')␃

Returns a column containing all formula calls in a chronological order.


LEN(

#ERROR!
name: LIST_FORMULA_CALLS id: rec7YuMikoWQmFb6W dependencies: [] source:␂REGEX_REPLACE(UPPER(REGEX_REPLACE({Source},'((?s).*?((((\x27([^\x27\x5c\n]*(\x5c\x27|[^\x27\n])*)\x27)|(\x22([^\x22\x5c\n]*(\x5c\x22|[^\x22\n])*)\x22))|((?P<pre>\b)(?P<afName>(?i)(A((BS)|(ND)|(VERAGE)|(RRAY((JOIN)|(COMPACT)|(FLATTEN)|(UNIQUE)))))|(CONCATENATE)|(T(RIM)?)|(SEARCH)|(ENCODE_URL_COMPONENT)|(SUBSTITUTE)|(FIND)|(LOWER)|(UPPER)|(REPT)|(M((ID)|(OD)))|(RIGHT)|(LE(N|(FT)))|(REPLACE)|(ERROR)|(BLANK)|(FALSE)|(IF)|(NOT)|(X?OR)|(ISERROR)|(SWITCH)|(TRUE)|(COUNTA)|(CEILING)|(COUNT)|(EVEN)|(COUNTALL)|(FLOOR)|(EXP)|(LOG)|(INT)|(POWER)|(ODD)|(MAX)|(ROUND)|(ROUNDUP)|(ROUNDDOWN)|(SUM)|(SQRT)|(VALUE)|(MIN)|(DATEADD)|(DATESTR)|(DATETIME_DIFF)|(DATETIME_PARSE)|(DATETIME_FORMAT)|(DAY)|(HOUR)|(IS_BEFORE)|(IS_AFTER)|(IS_SAME)|(MONTH)|(SET_LOCALE)|(MINUTE)|(SECOND)|(SET_TIMEZONE)|(NOW)|(TONOW)|(WEEKDAY)|(TIMESTR)|(WORKDAY)|(WEEKNUM)|(WORKDAY_DIFF)|(YEAR)|(TODAY)|(FROMNOW)|(LAST_MODIFIED_TIME)|(CREATED_TIME)|(RECORD_ID)|(REGEX_MATCH)|(REGEX_EXTRACT)|(REGEX_REPLACE))(?P<post>\b))){1,2}).*?)|.+','$<afName>\n')),'^\s+|(\n)\n+|\s+$','$1')␃ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name: byte_count id: reconxjGHNkvEGVqB dependencies: [] source:␂LEN(REGEX_REPLACE({Code},'\C','_'))␃
(?P<customImport>((?P<rec7YuMikoWQmFb6W>LIST_FORMULA_CALLS)|(?P<reconxjGHNkvEGVqB>byte_count))\s*[(](?P<args>[{\w},:\s]*)?\s*[)])
name: Ƒormula_Count id: recRxFc9XnBwf1g0k dependencies: [] source:␂LEN(REGEX_REPLACE(list_formula_calls(),'(^\s*)?[^\n]+\n*(\s*$)?','_'))␃
⎡@rec7YuMikoWQmFb6W❲$<rec7YuMikoWQmFb6W>❳≝❲$<args>❳␂REGEX_REPLACE(UPPER(REGEX_REPLACE({Source},'((?s).*?((((\x27([^\x27\x5c\n]*(\x5c\x27|[^\x27\n])*)\x27)|(\x22([^\x22\x5c\n]*(\x5c\x22|[^\x22\n])*)\x22))|((?P<pre>\b)(?P<afName>(?i)(A((BS)|(ND)|(VERAGE)|(RRAY((JOIN)|(COMPACT)|(FLATTEN)|(UNIQUE)))))|(CONCATENATE)|(T(RIM)?)|(SEARCH)|(ENCODE_URL_COMPONENT)|(SUBSTITUTE)|(FIND)|(LOWER)|(UPPER)|(REPT)|(M((ID)|(OD)))|(RIGHT)|(LE(N|(FT)))|(REPLACE)|(ERROR)|(BLANK)|(FALSE)|(IF)|(NOT)|(X?OR)|(ISERROR)|(SWITCH)|(TRUE)|(COUNTA)|(CEILING)|(COUNT)|(EVEN)|(COUNTALL)|(FLOOR)|(EXP)|(LOG)|(INT)|(POWER)|(ODD)|(MAX)|(ROUND)|(ROUNDUP)|(ROUNDDOWN)|(SUM)|(SQRT)|(VALUE)|(MIN)|(DATEADD)|(DATESTR)|(DATETIME_DIFF)|(DATETIME_PARSE)|(DATETIME_FORMAT)|(DAY)|(HOUR)|(IS_BEFORE)|(IS_AFTER)|(IS_SAME)|(MONTH)|(SET_LOCALE)|(MINUTE)|(SECOND)|(SET_TIMEZONE)|(NOW)|(TONOW)|(WEEKDAY)|(TIMESTR)|(WORKDAY)|(WEEKNUM)|(WORKDAY_DIFF)|(YEAR)|(TODAY)|(FROMNOW)|(LAST_MODIFIED_TIME)|(CREATED_TIME)|(RECORD_ID)|(REGEX_MATCH)|(REGEX_EXTRACT)|(REGEX_REPLACE))(?P<post>\b))){1,2}).*?)|.+','$<afName>\n')),'^\s+|(\n)\n+|\s+$','$1')␃⎦⎡@reconxjGHNkvEGVqB❲$<reconxjGHNkvEGVqB>❳≝❲$<args>❳␂LEN(REGEX_REPLACE({Code},'\C','_'))␃⎦
LIST_FORMULA_CALLS
byte_count

Counts the number of formula invocations from source code.

'ok: ' & list_formula_calls()

#ERROR!
name: LIST_FORMULA_CALLS id: rec7YuMikoWQmFb6W dependencies: [] source:␂REGEX_REPLACE(UPPER(REGEX_REPLACE({Source},'((?s).*?((((\x27([^\x27\x5c\n]*(\x5c\x27|[^\x27\n])*)\x27)|(\x22([^\x22\x5c\n]*(\x5c\x22|[^\x22\n])*)\x22))|((?P<pre>\b)(?P<afName>(?i)(A((BS)|(ND)|(VERAGE)|(RRAY((JOIN)|(COMPACT)|(FLATTEN)|(UNIQUE)))))|(CONCATENATE)|(T(RIM)?)|(SEARCH)|(ENCODE_URL_COMPONENT)|(SUBSTITUTE)|(FIND)|(LOWER)|(UPPER)|(REPT)|(M((ID)|(OD)))|(RIGHT)|(LE(N|(FT)))|(REPLACE)|(ERROR)|(BLANK)|(FALSE)|(IF)|(NOT)|(X?OR)|(ISERROR)|(SWITCH)|(TRUE)|(COUNTA)|(CEILING)|(COUNT)|(EVEN)|(COUNTALL)|(FLOOR)|(EXP)|(LOG)|(INT)|(POWER)|(ODD)|(MAX)|(ROUND)|(ROUNDUP)|(ROUNDDOWN)|(SUM)|(SQRT)|(VALUE)|(MIN)|(DATEADD)|(DATESTR)|(DATETIME_DIFF)|(DATETIME_PARSE)|(DATETIME_FORMAT)|(DAY)|(HOUR)|(IS_BEFORE)|(IS_AFTER)|(IS_SAME)|(MONTH)|(SET_LOCALE)|(MINUTE)|(SECOND)|(SET_TIMEZONE)|(NOW)|(TONOW)|(WEEKDAY)|(TIMESTR)|(WORKDAY)|(WEEKNUM)|(WORKDAY_DIFF)|(YEAR)|(TODAY)|(FROMNOW)|(LAST_MODIFIED_TIME)|(CREATED_TIME)|(RECORD_ID)|(REGEX_MATCH)|(REGEX_EXTRACT)|(REGEX_REPLACE))(?P<post>\b))){1,2}).*?)|.+','$<afName>\n')),'^\s+|(\n)\n+|\s+$','$1')␃ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name: byte_count id: reconxjGHNkvEGVqB dependencies: [] source:␂LEN(REGEX_REPLACE({Code},'\C','_'))␃
(?P<customImport>((?P<rec7YuMikoWQmFb6W>LIST_FORMULA_CALLS)|(?P<reconxjGHNkvEGVqB>byte_count))\s*[(](?P<args>[{\w},:\s]*)?\s*[)])
name: id: recx7kNAyA840kQg8 dependencies: [] source:␂'ok:'&list_formula_calls()␃
⎡@rec7YuMikoWQmFb6W❲$<rec7YuMikoWQmFb6W>❳≝❲$<args>❳␂REGEX_REPLACE(UPPER(REGEX_REPLACE({Source},'((?s).*?((((\x27([^\x27\x5c\n]*(\x5c\x27|[^\x27\n])*)\x27)|(\x22([^\x22\x5c\n]*(\x5c\x22|[^\x22\n])*)\x22))|((?P<pre>\b)(?P<afName>(?i)(A((BS)|(ND)|(VERAGE)|(RRAY((JOIN)|(COMPACT)|(FLATTEN)|(UNIQUE)))))|(CONCATENATE)|(T(RIM)?)|(SEARCH)|(ENCODE_URL_COMPONENT)|(SUBSTITUTE)|(FIND)|(LOWER)|(UPPER)|(REPT)|(M((ID)|(OD)))|(RIGHT)|(LE(N|(FT)))|(REPLACE)|(ERROR)|(BLANK)|(FALSE)|(IF)|(NOT)|(X?OR)|(ISERROR)|(SWITCH)|(TRUE)|(COUNTA)|(CEILING)|(COUNT)|(EVEN)|(COUNTALL)|(FLOOR)|(EXP)|(LOG)|(INT)|(POWER)|(ODD)|(MAX)|(ROUND)|(ROUNDUP)|(ROUNDDOWN)|(SUM)|(SQRT)|(VALUE)|(MIN)|(DATEADD)|(DATESTR)|(DATETIME_DIFF)|(DATETIME_PARSE)|(DATETIME_FORMAT)|(DAY)|(HOUR)|(IS_BEFORE)|(IS_AFTER)|(IS_SAME)|(MONTH)|(SET_LOCALE)|(MINUTE)|(SECOND)|(SET_TIMEZONE)|(NOW)|(TONOW)|(WEEKDAY)|(TIMESTR)|(WORKDAY)|(WEEKNUM)|(WORKDAY_DIFF)|(YEAR)|(TODAY)|(FROMNOW)|(LAST_MODIFIED_TIME)|(CREATED_TIME)|(RECORD_ID)|(REGEX_MATCH)|(REGEX_EXTRACT)|(REGEX_REPLACE))(?P<post>\b))){1,2}).*?)|.+','$<afName>\n')),'^\s+|(\n)\n+|\s+$','$1')␃⎦⎡@reconxjGHNkvEGVqB❲$<reconxjGHNkvEGVqB>❳≝❲$<args>❳␂LEN(REGEX_REPLACE({Code},'\C','_'))␃⎦
LIST_FORMULA_CALLS
byte_count
IF(
  values,
IF( values, '(?P<customImport>'&SUBSTITUTE(REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?m)(^name:\\s*(?P<name>[^\n]+)$\nid:\\s*(?P<id>rec\\w{14})(?s).*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','(?P<$<id>>$<name>)$<n>'),'\n','|')&'\\s*[(]\\s*[)])' )
name: linked_groups id: recXfP59h5xBlvIBN dependencies: [] source:␂IF(values,'(?P<customImport>'&SUBSTITUTE(REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?m)(^name:\s*(?P<name>[^\n]+)$\nid:\s*(?P<id>rec\w{14})(?s).*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','(?P<$<id>>$<name>)$<n>'),'\n','|')&'\s*[(]\s*[)])')␃
REGEX_REPLACE(
  ARRAYJOIN(values,'\n' & REPT('~',50) & '\n'),
REGEX_REPLACE( ARRAYJOIN(values,'\n' & REPT('~',50) & '\n'), '(?m)(^name:\\s*(?P<name>[^\n]+)$\nid:\\s*(?P<id>rec\\w{14})(?s).*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+', '(?P<$<id>>$<name>)$<n>' )
name: linked_records_to_regex_groups id: rec1RkEAgg1CKuLWj dependencies: [] source:␂REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?m)(^name:\s*(?P<name>[^\n]+)$\nid:\s*(?P<id>rec\w{14})(?s).*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','(?P<$<id>>$<name>)$<n>')␃

REGEX_REPLACE(REGEX_REPLACE(Source,'(?P<customImport>(?i)'&SUBSTITUTE(REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?mi)(^name:\\s*(?P<name>[^\n]+)$\nid:\\s*(?P<id>rec\\w{14})(?s).*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','(?P<$<id>>$<name>)$<n>'),'\n','|')&'\\s*[(]\\s*[)])',SUBSTITUTE(REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?m)(^name:\\s*(?P<name>[^\n]+)$\nid:\\s*(?P<id>rec\\w{14})(?s).*?^sourceCode:\\s*␂(?P<CODE>[^␃]+)␃.*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','⎡@$<id>❲@<$<id>>❳␂$<CODE>␃⎦$<n>$<n>'),'❲@<','❲$<')),'(?s)(⎡@\\w+❲❳.*?␃⎦)|(⎡@\\w+❲[^❳]+❳.*?␂(?P<INSERT>.*?)␃⎦)','$<INSERT>')

#ERROR!
name: CLEAN_SOURCE id: recpOGkQ8UQPcUwyy dependencies: [] source:␂REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\x5c]*(\x5c\x27)*)*\x27)|(\x60([^\x60\x5c]*(\x5c\x60)*)*\x60))))|(([/][*](?s).*?[*][/])|([/]{2}.*))([\s;]*$)?','$<str>')␃ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name: compress_formula id: rec7g8nfJfubQr4sm dependencies: [] source:␂REGEX_REPLACE(REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\n\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\n\x5c]*(\x5c\x27)*)*\x27))))|(([/][*](?s).*?[*][/])|([/]{2}.*))|(\s+)|([\s;]*$)?','$<str>'),'(?:(?P<slash>\x5c)\x5c)|(\x22\s*&\s*\x22)|(\x27\s*&\s*\x27)|((\x22(?P<str0>[^\x27\x22\x5c]*)\x22)|(\s*&\s*)|((?P<_>\x27)(?P<str1>[^\x27\x22\x5c]*)\x27)){3}|\s+','$<slash>$<_>$<str0>$<str1>$<_>')␃
(?P<customImport>((?P<recpOGkQ8UQPcUwyy>CLEAN_SOURCE)|(?P<rec7g8nfJfubQr4sm>compress_formula))\s*[(](?P<args>[{\w},:\s]*)?\s*[)])
name: id: recI5CRqU8ttljQmW dependencies: [] source:␂REGEX_REPLACE(REGEX_REPLACE(Source,'(?P<customImport>(?i)'&SUBSTITUTE(REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?mi)(^name:\s*(?P<name>[^\n]+)$\nid:\s*(?P<id>rec\w{14})(?s).*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','(?P<$<id>>$<name>)$<n>'),'\n','|')&'\s*[(]\s*[)])',SUBSTITUTE(REGEX_REPLACE(ARRAYJOIN(values,'\n'&REPT('~',50)&'\n'),'(?m)(^name:\s*(?P<name>[^\n]+)$\nid:\s*(?P<id>rec\w{14})(?s).*?^sourceCode:\s*␂(?P<CODE>[^␃]+)␃.*?((\n^~{50}$(?P<n>\n))|(?-m)$))|.+','⎡@$<id>❲@<$<id>>❳␂$<CODE>␃⎦$<n>$<n>'),'❲@<','❲$<')),'(?s)(⎡@\w+❲❳.*?␃⎦)|(⎡@\w+❲[^❳]+❳.*?␂(?P<INSERT>.*?)␃⎦)','$<INSERT>')␃
⎡@recpOGkQ8UQPcUwyy❲$<recpOGkQ8UQPcUwyy>❳≝❲$<args>❳␂REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\x5c]*(\x5c\x27)*)*\x27)|(\x60([^\x60\x5c]*(\x5c\x60)*)*\x60))))|(([/][*](?s).*?[*][/])|([/]{2}.*))([\s;]*$)?','$<str>')␃⎦⎡@rec7g8nfJfubQr4sm❲$<rec7g8nfJfubQr4sm>❳≝❲$<args>❳␂REGEX_REPLACE(REGEX_REPLACE({Source},'(^\s*)?(((?P<str>(\x22([^\x22\n\x5c]*(\x5c\x22)*)*\x22)|(\x27([^\x27\n\x5c]*(\x5c\x27)*)*\x27))))|(([/][*](?s).*?[*][/])|([/]{2}.*))|(\s+)|([\s;]*$)?','$<str>'),'(?:(?P<slash>\x5c)\x5c)|(\x22\s*&\s*\x22)|(\x27\s*&\s*\x27)|((\x22(?P<str0>[^\x27\x22\x5c]*)\x22)|(\s*&\s*)|((?P<_>\x27)(?P<str1>[^\x27\x22\x5c]*)\x27)){3}|\s+','$<slash>$<_>$<str0>$<str1>$<_>')␃⎦
CLEAN_SOURCE
compress_formula
30 records
Extensions

Alert

Lorem ipsum
Okay