Re: Command Languages Versus Programming Languages

Liste des GroupesRevenir à cu shell 
Sujet : Re: Command Languages Versus Programming Languages
De : mortonspam (at) *nospam* gmail.com (Ed Morton)
Groupes : comp.unix.shell comp.unix.programmer comp.lang.misc
Date : 24. Nov 2024, 01:17:41
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vhtrb4$1tms9$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13
User-Agent : Mozilla Thunderbird
On 11/20/2024 9:53 AM, Janis Papanagnou wrote:
On 20.11.2024 12:46, Ed Morton wrote:
>
Definitely. The most relevant statement about regexps is this:
>
Some people, when confronted with a problem, think "I know, I'll use
regular expressions." Now they have two problems.
 (Worth a scribbling on a WC wall.)
 
>
Obviously regexps are very useful and commonplace but if you find you
have to use some online site or other tools to help you write/understand
one or just generally need more than a couple of minutes to
write/understand it then it's time to back off and figure out a better
way to write your code for the sake of whoever has to read it 6 months
later (and usually for robustness too as it's hard to be sure all rainy
day cases are handled correctly in a lengthy and/or complicated regexp).
 Regexps are nothing for newbies.
 The inherent fine thing with Regexps is that you can incrementally
compose them[*].[**]
 It seems you haven't found a sensible way to work with them?
(And I'm really astonished about that since I know you worked with
Regexps for years if not decades.)
I have no problem working with regexps, I just don't write lengthy or complicated regexps, just brief, simple BREs or EREs, and I don't restrict myself to trying to solve problems with a single regexp.

In those cases where Regexps *are* the tool for a specific task -
I don't expect you to use them where they are inappropriate?! -
Right, I don't, but I see many people using them for tasks that could be done more clearly and robustly if not done with a single regexp.

what would be the better solution[***] then?
It all depends on the problem. For example, if you need to match an input string that must contain each of a, b, and c in any order then you could do that in awk with this regexp or similar:
     awk '/(a.*(b.*c|c.*b))|(b.*(a.*c|c.*a))|(c.*(a.*b|b.*a))/'
or you could do it with this condition comprised of regexp segments:
     awk '/a/ && /b/ && /c/'
I would prefer the second solution as it's more concise and easier to enhance (try adding "and d" to both).
As another example, someone on StackOverflow recently said they had written the following regexp to isolate the last string before a set of parens in a line that contains multiple such strings, some of them nested, and they said it works in python:
^(?:^[^(]+\([^)]+\) \(([^(]+)\([^)]+\)\))|[^(]+\(([^(]+)\([^)]+\),\s([^\(]+)\([^)]+\)\s\([^\)]+\)\)|(?:(?:.*?)\((.*?)\(.*?\)\))|(?:[^(]+\(([^)]+)\))$
I personally wouldn't consider anything remotely as lengthy or complicated as that regexp despite their assurances that it works, I'd use this any-awk script or similar instead:
{
     rec = $0
     while ( match(rec, /\([^()]*)/) ) {
         tgt = substr($0,RSTART+1,RLENGTH-2)
         rec = substr(rec,1,RSTART-1) RS substr(rec,RSTART+1,RLENGTH-2) RS substr(rec,RSTART+RLENGTH)
     }
     gsub(/ *\([^()]*) */, "", tgt)
     print tgt
}
It's a bit more code but, unlike that regexp, anyone assigned to maintain this code in future can tell what it does with just a little thought (and maybe adding a debugging print in the loop if they aren't very familiar with awk), can then be sure it does what is required and nothing else, and could easily maintain/enhance it if necessary.
     Ed.

 Janis
 [*] Like the corresponding FSMs.
 [**] And you can also decompose them if they are merged in a huge
expression, too large for you to grasp it. (BTW, I'm doing such
decompositions also with other expressions in program code that
are too bulky.)
 [***] Can you answer the question that another poster failed to do?
 

Date Sujet#  Auteur
30 Sep 24 * Re: Command Languages Versus Programming Languages146Bozo User
30 Sep 24 +* Re: Command Languages Versus Programming Languages5Lawrence D'Oliveiro
1 Oct 24 i`* Re: Command Languages Versus Programming Languages4usuario
2 Oct 24 i `* Re: Command Languages Versus Programming Languages3Muttley
2 Oct 24 i  `* Re: Command Languages Versus Programming Languages2usuario
2 Oct 24 i   `- Re: Command Languages Versus Programming Languages1Muttley
9 Oct 24 `* Re: Command Languages Versus Programming Languages140Rainer Weikusat
10 Oct 24  `* Re: Command Languages Versus Programming Languages139Muttley
10 Oct 24   +* Re: Command Languages Versus Programming Languages63Rainer Weikusat
10 Oct 24   i+* Re: Command Languages Versus Programming Languages52Muttley
10 Oct 24   ii+* Re: Command Languages Versus Programming Languages50Rainer Weikusat
10 Oct 24   iii+* Re: Command Languages Versus Programming Languages45Kaz Kylheku
10 Oct 24   iiii`* Re: Command Languages Versus Programming Languages44Rainer Weikusat
11 Oct 24   iiii `* Re: Command Languages Versus Programming Languages43Bart
11 Oct 24   iiii  `* Re: Command Languages Versus Programming Languages42Rainer Weikusat
11 Oct 24   iiii   `* Re: Command Languages Versus Programming Languages41Muttley
11 Oct 24   iiii    +* Re: Command Languages Versus Programming Languages28Dan Cross
11 Oct 24   iiii    i`* Re: Command Languages Versus Programming Languages27Muttley
11 Oct 24   iiii    i +* Re: Command Languages Versus Programming Languages23Dan Cross
12 Oct 24   iiii    i i`* Re: Command Languages Versus Programming Languages22Muttley
12 Oct 24   iiii    i i `* Re: Command Languages Versus Programming Languages21Dan Cross
12 Oct 24   iiii    i i  `* Re: Command Languages Versus Programming Languages20Muttley
12 Oct 24   iiii    i i   +- Re: Command Languages Versus Programming Languages1Muttley
12 Oct 24   iiii    i i   `* Re: Command Languages Versus Programming Languages18Dan Cross
13 Oct 24   iiii    i i    `* Re: Command Languages Versus Programming Languages17Muttley
13 Oct 24   iiii    i i     `* Re: Command Languages Versus Programming Languages16Dan Cross
13 Oct 24   iiii    i i      +* Re: Command Languages Versus Programming Languages10Muttley
13 Oct 24   iiii    i i      i+* Re: Command Languages Versus Programming Languages8Dan Cross
13 Oct 24   iiii    i i      ii`* Re: Command Languages Versus Programming Languages7Muttley
13 Oct 24   iiii    i i      ii +* Re: Command Languages Versus Programming Languages5Dan Cross
14 Oct 24   iiii    i i      ii i`* Re: Command Languages Versus Programming Languages4Muttley
14 Oct 24   iiii    i i      ii i `* Re: Command Languages Versus Programming Languages3Dan Cross
14 Oct 24   iiii    i i      ii i  `* Re: Command Languages Versus Programming Languages2Muttley
14 Oct 24   iiii    i i      ii i   `- Re: Command Languages Versus Programming Languages1David Brown
13 Oct 24   iiii    i i      ii `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
13 Oct 24   iiii    i i      i`- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
13 Oct 24   iiii    i i      `* Re: Command Languages Versus Programming Languages5Dan Cross
13 Oct 24   iiii    i i       `* Re: Command Languages Versus Programming Languages4Bart
13 Oct 24   iiii    i i        `* Re: Command Languages Versus Programming Languages3Dan Cross
14 Oct 24   iiii    i i         `* Re: Command Languages Versus Programming Languages2Bart
14 Oct 24   iiii    i i          `- Re: On overly rigid definitions (was Re: Command Languages Versus Programming Languages)1Dan Cross
13 Oct 24   iiii    i `* Re: Command Languages Versus Programming Languages3Kaz Kylheku
13 Oct 24   iiii    i  +- Re: Command Languages Versus Programming Languages1Bart
13 Oct 24   iiii    i  `- Re: Command Languages Versus Programming Languages1Dan Cross
11 Oct 24   iiii    +* Re: Command Languages Versus Programming Languages2Rainer Weikusat
12 Oct 24   iiii    i`- Re: Command Languages Versus Programming Languages1Muttley
11 Oct 24   iiii    `* Re: Command Languages Versus Programming Languages10Lawrence D'Oliveiro
12 Oct 24   iiii     `* Re: Command Languages Versus Programming Languages9Muttley
12 Oct 24   iiii      +* Re: Command Languages Versus Programming Languages5Rainer Weikusat
12 Oct 24   iiii      i+* Re: Command Languages Versus Programming Languages3Christian Weisgerber
13 Oct 24   iiii      ii+- Re: Command Languages Versus Programming Languages1Muttley
13 Oct 24   iiii      ii`- Re: Command Languages Versus Programming Languages1Rainer Weikusat
12 Oct 24   iiii      i`- Re: Command Languages Versus Programming Languages1Bart
12 Oct 24   iiii      `* Re: Command Languages Versus Programming Languages3Lawrence D'Oliveiro
13 Oct 24   iiii       `* Re: Command Languages Versus Programming Languages2Muttley
13 Oct 24   iiii        `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
11 Oct 24   iii+* Re: Command Languages Versus Programming Languages2Bart
11 Oct 24   iiii`- Re: Command Languages Versus Programming Languages1Rainer Weikusat
11 Oct 24   iii`* Re: Command Languages Versus Programming Languages2Muttley
11 Oct 24   iii `- Re: Command Languages Versus Programming Languages1Rainer Weikusat
11 Oct 24   ii`- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
12 Oct 24   i`* Re: Command Languages Versus Programming Languages10Eric Pozharski
13 Oct 24   i `* Re: Command Languages Versus Programming Languages9Muttley
13 Oct 24   i  +- Re: Command Languages Versus Programming Languages1Janis Papanagnou
13 Oct 24   i  +* Re: Command Languages Versus Programming Languages6Rainer Weikusat
14 Oct 24   i  i`* Re: Command Languages Versus Programming Languages5Muttley
14 Oct 24   i  i `* Re: Command Languages Versus Programming Languages4Rainer Weikusat
14 Oct 24   i  i  `* Re: Command Languages Versus Programming Languages3Muttley
14 Oct 24   i  i   `* Re: Command Languages Versus Programming Languages2Rainer Weikusat
14 Oct 24   i  i    `- Re: Command Languages Versus Programming Languages1Muttley
13 Oct 24   i  `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
11 Nov 24   `* Re: Command Languages Versus Programming Languages75Sebastian
11 Nov 24    +* Re: Command Languages Versus Programming Languages11Muttley
11 Nov 24    i+* Re: Command Languages Versus Programming Languages2Wolfgang Agnes
11 Nov 24    ii`- Re: Command Languages Versus Programming Languages1Muttley
11 Nov 24    i+- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
12 Nov 24    i`* Re: Command Languages Versus Programming Languages7Janis Papanagnou
12 Nov 24    i `* Re: Command Languages Versus Programming Languages6Muttley
12 Nov 24    i  +* Re: Command Languages Versus Programming Languages4Janis Papanagnou
12 Nov 24    i  i`* Re: Command Languages Versus Programming Languages3Muttley
12 Nov 24    i  i `* Re: Command Languages Versus Programming Languages2Janis Papanagnou
12 Nov 24    i  i  `- Re: Command Languages Versus Programming Languages1Muttley
12 Nov 24    i  `- Re: Command Languages Versus Programming Languages1Wolfgang Agnes
11 Nov 24    `* Re: Command Languages Versus Programming Languages63Lawrence D'Oliveiro
12 Nov 24     +* Re: Command Languages Versus Programming Languages3Janis Papanagnou
12 Nov 24     i+- Re: Command Languages Versus Programming Languages1Wolfgang Agnes
12 Nov 24     i`- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
20 Nov 24     `* Re: Command Languages Versus Programming Languages59Randal L. Schwartz
20 Nov 24      +- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
20 Nov 24      `* Re: Command Languages Versus Programming Languages57Muttley
20 Nov 24       +* Re: Command Languages Versus Programming Languages44Janis Papanagnou
20 Nov 24       i+* Re: Command Languages Versus Programming Languages36Muttley
20 Nov 24       ii`* Re: Command Languages Versus Programming Languages35Janis Papanagnou
20 Nov 24       ii +* Re: Command Languages Versus Programming Languages9Muttley
20 Nov 24       ii i`* Re: Command Languages Versus Programming Languages8Rainer Weikusat
20 Nov 24       ii i +* Re: Command Languages Versus Programming Languages5John Ames
21 Nov 24       ii i i+* Re: Command Languages Versus Programming Languages2Muttley
21 Nov 24       ii i ii`- Re: Command Languages Versus Programming Languages1John Ames
21 Nov 24       ii i i`* Re: Command Languages Versus Programming Languages2Dan Cross
21 Nov 24       ii i i `- Re: Command Languages Versus Programming Languages1Muttley
21 Nov 24       ii i `* Re: Command Languages Versus Programming Languages2Muttley
20 Nov 24       ii `* Re: Command Languages Versus Programming Languages25Rainer Weikusat
21 Nov 24       i`* Re: Command Languages Versus Programming Languages7Kaz Kylheku
20 Nov 24       +* Re: Command Languages Versus Programming Languages9Ed Morton
20 Nov 24       `* Re: Command Languages Versus Programming Languages3Rainer Weikusat

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal