go ahead... be a heretic PerlMonks

### Re: ^\s not equal \S?

 on Dec 04, 2003 at 15:04 UTC ( #312208=note: print w/replies, xml ) Need Help??

in reply to ^\s not equal \S?

Welcome to Boolean Algebra!
```[^\s\w] = NOT (space OR word)
[\S\W] = (NOT space) OR (NOT word)

(NOT space) OR (NOT word) = NOT (space AND word)

Replies are listed 'Best First'.
Re: Re: ^\s not equal \S?
by delirium (Chaplain) on Dec 04, 2003 at 15:37 UTC
Well, I finally did it. I ++'d an anonymous post. Good answer. I was going to say something like:

[^\s\w] means neither spaces nor words, or, everything but spaces and words, where
[\S\W] means non-spaces AND non-words, and since a space is a non-word, the meaning is similar to "non-spaces and spaces".

However, ^\s and \S should be the same, so...

```\$phrase =~ s/[^\s*\w*]//g;
would do the same thing as...
```\$phrase =~ s/[\S]|[\W]|[^*]//g;

Update: No, it wouldn't. :: smacks self in head ::

Wait a minute.... I just tried your example and it still wipes out the string. It's like a nice big OR isn't it? So isn't s/[\S]|[\W]//g really the same as s/[\S\W]//g?

Edit: A negative demark for pointing out this out? Bleh, now that isn't exactly fair. Oh well, I still haven't quite worked out what benefits voting would have.
Anyhow, I've fiddled with the regexes and the response from delirium still doesn't quite fit in with what everything else tells me. Plugging in the two different RegExs in to the script yields completely different results. And given the examples by anon, it would naturally make sense.

Is it fair to stick a link to my site here?

Thanks for you patience.

Create A New User
Node Status?
node history
Node Type: note [id://312208]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2021-04-21 12:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?

No recent polls found

Notices?