Sponsored Content
Top Forums Shell Programming and Scripting Regex issue with \s in character class. Post 303042638 by Aia on Thursday 2nd of January 2020 12:29:50 AM
Old 01-02-2020
Quote:
Originally Posted by blackrageous
Anybody have an explanation for why \s doesn't match ' ' in a character class? Here are 3 examples with the final example showing that \s in a character class (demonstrated by using egrep -o) fails:

\s works outside of class..

Code:
# echo " FOO " | egrep -o '\s[A-Z]+\s'
 FOO


Here is a sanity check using ' '...

Code:
# echo " FOO " | egrep -o '[  ][A-Z]+[  ]'
 FOO

Here I try with \s in a character class
Code:
# echo " FOO " | egrep -o '[\s][A-Z]+[\s]'
#

The backslash is not a metacharacter in a POSIX compliant bracket expression. Therefore [\s] will match the characters \ or s instead of white space.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk and POSIX character class

can anyone tell me why this doesn't work? I've been trying to play with character classes and I seem to be missing something here..! echo "./comparecdna.summary" | awk '/^compare+]summary$/' # returns nothing echo "./compare_cdna.summary" | awk '/^compare_+]summary$/' # returns nothing echo... (5 Replies)
Discussion started by: anthalamus
5 Replies

2. Shell Programming and Scripting

regex to find font class

So, I need to find the instances of a certain font and remove it....so far in my testing I am using the find command with regex to find a font I want to pull out. However, I seem to be slightly stuck, and I am sure the beard stroking Unix geniuses here can help me. My example code: find... (7 Replies)
Discussion started by: tlarkin
7 Replies

3. Shell Programming and Scripting

perl regex issue

Hi, I find it really strange while writing a simple regex to match and print the matched string, dibyajyo@fwtest:~ #perl -e '$x = "root@rashmi>"; print "matched string:$1\n" if ($x =~ /(root@rashmi)/);' matched string:root dibyajyo@fwtest:~ #perl -e '$x = "root@rashmi>"; print... (1 Reply)
Discussion started by: rrd1986
1 Replies

4. Shell Programming and Scripting

Regex escape special character in AWK if statement

I am having issues escaping special characters in my AWK script as follows: for id in `cat file` do grep $id in file2 | awk '\ BEGIN {var=""} \ { if ( /stringwith+'|'+'50'chars/ ) { echo "do this" } else if ( /anotherString/ ) { echo "do that" } else { ... (4 Replies)
Discussion started by: purebc
4 Replies

5. Shell Programming and Scripting

Regex:search/replace but not for escaped character

Hi Input: - -- --- ---- aa-bb-cc aa--bb--cc aa---bb---cc aa----bb----cc Output: . - -. -- aa.bb.cc (7 Replies)
Discussion started by: chitech
7 Replies

6. UNIX for Advanced & Expert Users

Get pointer for existing device class (struct class) in Linux kernel module

Hi all! I am trying to register a device in an existing device class, but I am having trouble getting the pointer to an existing class. I can create a class in a module, get the pointer to it and then use it to register the device with: *cl = class_create(THIS_MODULE, className);... (0 Replies)
Discussion started by: hdaniel@ualg.pt
0 Replies

7. Shell Programming and Scripting

Regex space character

Hi, I have following regex condition, however it does not work with different logs having same visible string.I believe it is because of some difference with space character, is it possible to make it work everywhere. Can someone suggest a better string? /BIND dn=" uid=/ Thanks. (8 Replies)
Discussion started by: susankoperna1
8 Replies

8. Programming

Size of Derived class, upon virtual base class inheritance

I have the two class definition as follows. class A { public: int a; }; class B : virtual public A{ }; The size of class A is shown as 4, and size of class B is shown as 16. Why is this effect ?. (2 Replies)
Discussion started by: techmonk
2 Replies

9. Shell Programming and Scripting

Match string against character class in bash

Hello, I want to check whether string has only numeric characters. The following code doesn't work for me #!/usr/local/bin/bash if ]]; then echo "true" else echo "False" fi # ./yyy '346' False # ./yyy 'aaa' False I'm searching for solution using character classes, not regex.... (5 Replies)
Discussion started by: urello
5 Replies

10. Programming

C++ : Base class member function not accessible from derived class

Hello All, I am a learner in C++. I was testing my inheritance knowledge with following piece of code. #include <iostream> using namespace std; class base { public : void display() { cout << "In base display()" << endl; } void display(int k) {... (2 Replies)
Discussion started by: anand.shah
2 Replies
ISWDIGIT(3)						     Linux Programmer's Manual						       ISWDIGIT(3)

NAME
iswdigit - test for decimal digit wide character SYNOPSIS
#include <wctype.h> int iswdigit(wint_t wc); DESCRIPTION
The iswdigit function is the wide-character equivalent of the isdigit function. It tests whether wc is a wide character belonging to the wide character class "digit". The wide character class "digit" is a subclass of the wide character class "xdigit", and therefore also a subclass of the wide character class "alnum", of the wide character class "graph" and of the wide character class "print". Being a subclass of the wide character class "print", the wide character class "digit" is disjoint from the wide character class "cntrl". Being a subclass of the wide character class "graph", the wide character class "digit" is disjoint from the wide character class "space" and its subclass "blank". Being a subclass of the wide character class "alnum", the wide character class "digit" is disjoint from the wide character class "punct". The wide character class "digit" is disjoint from the wide character class "alpha" and therefore also disjoint from its subclasses "lower", "upper". The wide character class "digit" always contains exactly the digits '0' to '9'. RETURN VALUE
The iswdigit function returns non-zero if wc is a wide character belonging to the wide character class "digit". Otherwise it returns zero. CONFORMING TO
ISO/ANSI C, UNIX98 SEE ALSO
isdigit(3), iswctype(3) NOTES
The behaviour of iswdigit depends on the LC_CTYPE category of the current locale. GNU
1999-07-25 ISWDIGIT(3)
All times are GMT -4. The time now is 07:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy