RegEx in Java. \b does not react to a newline


 
Thread Tools Search this Thread
Top Forums Programming RegEx in Java. \b does not react to a newline
# 1  
Old 05-12-2010
RegEx in Java. \b does not react to a newline

Hello,

In Java I use this regular expression \b\w+\b as a pattern in order to find words but the boundary does not react to newlines. For example, in the following text:

Code:
hello and bye

and

blah

it finds the words below:

hello
byeandblah
and

Could someone tell how to fix that?

p.s. Just in case it's a clue, the example text does not have empty lines when I view it in gedit, they only appear over here, after I paste the text and submit the post.
# 2  
Old 05-14-2010
Works fine for me:

Code:
$ 
$ 
$ # show the Java program
$ cat -n RegexTest.java
     1    import java.util.regex.Matcher;
     2    import java.util.regex.Pattern;
     3    public class RegexTest {
     4      public static void main(String[] args) {
     5        String str = "hello and bye\nand\nblah";
     6        String ptn = "\\b\\w+\\b";
     7        int num = 0;
     8        Pattern pattern = Pattern.compile(ptn);
     9        Matcher matcher = pattern.matcher(str);
    10        System.out.println("=======  String for inspection  =======");
    11        System.out.println(str);
    12        System.out.println("========================================");
    13        System.out.println("=======  Pattern to be searched  =======");
    14        System.out.println(ptn);
    15        System.out.println("========================================");
    16        boolean found = false;
    17        while (matcher.find()) {
    18          num++;
    19          System.out.println("Match # "+num+"\t:\t"+matcher.group()+"\t=>\tstarts at "
    20              + "index "+matcher.start()+" and ends at index "+matcher.end());
    21          found = true;
    22        }
    23        if (!found) {
    24          System.out.println("No match found");
    25        }
    26      }
    27    }
$ 
$ # compile
$ javac RegexTest.java
$ 
$ # run
$ java RegexTest
=======  String for inspection  =======
hello and bye
and
blah
========================================
=======  Pattern to be searched  =======
\b\w+\b
========================================
Match # 1    :    hello    =>    starts at index 0 and ends at index 5
Match # 2    :    and    =>    starts at index 6 and ends at index 9
Match # 3    :    bye    =>    starts at index 10 and ends at index 13
Match # 4    :    and    =>    starts at index 14 and ends at index 17
Match # 5    :    blah    =>    starts at index 18 and ends at index 22
$ 
$

tyler_durden
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Pass RegEx to java program in bash script

I can't seem to get this right. I've tried it every way imaginable using every trick I see on stackexchange and such. No luck. So nothing major here, something like: #!/bin/bash SEARCH="ARG1 ARG2 '((^EXACT$)|(.*InTheMiddle*)|(^AtBeginning*))'" java -cp /my/class/path MyClassName $SEARCH... (3 Replies)
Discussion started by: stonkers
3 Replies

2. Web Development

Google Trends: react.js angular.js vue.js

While I'm on the subject of Google trends, here is a global trend since 2004 comparing react.js, angular.js, vue.js It's no secret I'm a vue.js fan and coder, but not because of the trend line (which I just saw for the first time a few minutes ago) My experience is that vue.js, a late arrival... (0 Replies)
Discussion started by: Neo
0 Replies

3. Shell Programming and Scripting

Sendmail K command regex: adding exclusion/negative lookahead to regex -a@MATCH

I'm trying to get some exclusions into our sendmail regular expression for the K command. The following configuration & regex works: LOCAL_CONFIG # Kcheckaddress regex -a@MATCH +<@+?\.++?\.(us|info|to|br|bid|cn|ru) LOCAL_RULESETS SLocal_check_mail # check address against various regex... (0 Replies)
Discussion started by: RobbieTheK
0 Replies

4. Shell Programming and Scripting

Perl, RegEx - Help me to understand the regex!

I am not a big expert in regex and have just little understanding of that language. Could you help me to understand the regular Perl expression: ^(?!if\b|else\b|while\b|)(?:+?\s+){1,6}(+\s*)\(*\) *?(?:^*;?+){0,10}\{ ------ This is regex to select functions from a C/C++ source and defined in... (2 Replies)
Discussion started by: alex_5161
2 Replies

5. Shell Programming and Scripting

Add newline to regex

I have a perl script that runs a program and puts the output of the program into a variable. The output of the file looks like: Statistics 0 AverageTime: Statistics 0 AverageTime: I'm trying to run a regular express against this to pull out the first value in each of the parens... (1 Reply)
Discussion started by: Boomn4x4
1 Replies

6. Shell Programming and Scripting

Modify or react on "cd" command

Hi folks, I found a pretty nice thread in this forum showing how to change the window title of a PuTTY window from within the shell. (Which I can't reference due having less than 5 postings?!?) I modified the solution a bit to have a function in my zshrc "wt()" changing the window title each... (8 Replies)
Discussion started by: mephistho
8 Replies

7. Shell Programming and Scripting

Converting perl regex to sed regex

I am having trouble parsing rpm filenames in a shell script.. I found a snippet of perl code that will perform the task but I really don't have time to rewrite the entire script in perl. I cannot for the life of me convert this code into something sed-friendly: if ($rpm =~ /(*)-(*)-(*)\.(.*)/)... (1 Reply)
Discussion started by: suntzu
1 Replies
Login or Register to Ask a Question