Re: Command Languages Versus Programming Languages

Liste des GroupesRevenir à cu programmer 
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 Languages335Bozo 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 Languages329Rainer Weikusat
10 Oct 24  `* Re: Command Languages Versus Programming Languages328Muttley
10 Oct 24   +* Re: Command Languages Versus Programming Languages87Rainer Weikusat
10 Oct 24   i+* Re: Command Languages Versus Programming Languages76Muttley
10 Oct 24   ii+* Re: Command Languages Versus Programming Languages74Rainer Weikusat
10 Oct 24   iii+* Re: Command Languages Versus Programming Languages69Kaz Kylheku
10 Oct 24   iiii`* Re: Command Languages Versus Programming Languages68Rainer Weikusat
11 Oct 24   iiii `* Re: Command Languages Versus Programming Languages67Bart
11 Oct 24   iiii  `* Re: Command Languages Versus Programming Languages66Rainer Weikusat
11 Oct 24   iiii   `* Re: Command Languages Versus Programming Languages65Muttley
11 Oct 24   iiii    +* Re: Command Languages Versus Programming Languages52Dan Cross
11 Oct 24   iiii    i`* Re: Command Languages Versus Programming Languages51Muttley
11 Oct 24   iiii    i +* Re: Command Languages Versus Programming Languages47Dan Cross
12 Oct 24   iiii    i i`* Re: Command Languages Versus Programming Languages46Muttley
12 Oct 24   iiii    i i `* Re: Command Languages Versus Programming Languages45Dan Cross
12 Oct 24   iiii    i i  `* Re: Command Languages Versus Programming Languages44Muttley
12 Oct 24   iiii    i i   +- Re: Command Languages Versus Programming Languages1Muttley
12 Oct 24   iiii    i i   `* Re: Command Languages Versus Programming Languages42Dan Cross
13 Oct 24   iiii    i i    `* Re: Command Languages Versus Programming Languages41Muttley
13 Oct 24   iiii    i i     +* Re: Command Languages Versus Programming Languages4Janis Papanagnou
13 Oct 24   iiii    i i     i`* Re: Command Languages Versus Programming Languages3Muttley
13 Oct 24   iiii    i i     i `* Re: Command Languages Versus Programming Languages2Janis Papanagnou
13 Oct 24   iiii    i i     i  `- Re: Command Languages Versus Programming Languages1Muttley
13 Oct 24   iiii    i i     `* Re: Command Languages Versus Programming Languages36Dan Cross
13 Oct 24   iiii    i i      +* Re: Command Languages Versus Programming Languages30Muttley
13 Oct 24   iiii    i i      i+- Re: Command Languages Versus Programming Languages1Janis Papanagnou
13 Oct 24   iiii    i i      i+* Re: Command Languages Versus Programming Languages27Dan Cross
13 Oct 24   iiii    i i      ii`* Re: Command Languages Versus Programming Languages26Muttley
13 Oct 24   iiii    i i      ii +* Re: Command Languages Versus Programming Languages17Janis Papanagnou
13 Oct 24   iiii    i i      ii i+* Re: Command Languages Versus Programming Languages9Lawrence D'Oliveiro
14 Oct 24   iiii    i i      ii ii`* Re: Command Languages Versus Programming Languages8Janis Papanagnou
14 Oct 24   iiii    i i      ii ii +* Re: Command Languages Versus Programming Languages2Lawrence D'Oliveiro
14 Oct 24   iiii    i i      ii ii i`- Re: Command Languages Versus Programming Languages1Janis Papanagnou
14 Oct 24   iiii    i i      ii ii `* Re: Command Languages Versus Programming Languages5Nicolas George
14 Oct 24   iiii    i i      ii ii  +* Re: Command Languages Versus Programming Languages2Janis Papanagnou
15 Oct 24   iiii    i i      ii ii  i`- Re: Command Languages Versus Programming Languages1Nicolas George
14 Oct 24   iiii    i i      ii ii  `* Re: Command Languages Versus Programming Languages2Lawrence D'Oliveiro
15 Oct 24   iiii    i i      ii ii   `- Re: Command Languages Versus Programming Languages1Nicolas George
14 Oct 24   iiii    i i      ii i`* Re: Command Languages Versus Programming Languages7Muttley
14 Oct 24   iiii    i i      ii i +- Re: Command Languages Versus Programming Languages1Janis Papanagnou
14 Oct 24   iiii    i i      ii i +- Re: Command Languages Versus Programming Languages1Muttley
14 Oct 24   iiii    i i      ii i +* Re: Command Languages Versus Programming Languages3Bart
15 Oct 24   iiii    i i      ii i i+- Re: Command Languages Versus Programming Languages1David Brown
15 Oct 24   iiii    i i      ii i i`- Re: Command Languages Versus Programming Languages1Dan Cross
14 Oct 24   iiii    i i      ii i `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
13 Oct 24   iiii    i i      ii +* Re: Command Languages Versus Programming Languages7Dan Cross
14 Oct 24   iiii    i i      ii i`* Re: Command Languages Versus Programming Languages6Muttley
14 Oct 24   iiii    i i      ii i `* 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 Languages2David Brown
14 Oct 24   iiii    i i      ii i   i`- Re: Command Languages Versus Programming Languages1Janis Papanagnou
14 Oct 24   iiii    i i      ii i   `- Re: Command Languages Versus Programming Languages1Janis Papanagnou
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 Languages240Sebastian
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
11 Nov 24    `* Re: Command Languages Versus Programming Languages228Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal