DEV Community

Franz Wong
Franz Wong

Posted on • Edited on

Basic regular expression in different languages

This blog entry is to remind myself how to use regular expression for different languages.

Java

Pattern pattern = Pattern.compile("Hello, (.+)"); Matcher matcher = pattern.matcher("Hello, Franz"); if (matcher.matches()) { System.out.println(matcher.group(0)); // This will print "Hello, Franz" System.out.println(matcher.group(1)); // This will print "Franz" } 
Enter fullscreen mode Exit fullscreen mode

Rust

let str = "Hello, Franz"; let re = Regex::new("Hello, (.+)").unwrap(); match re.captures(str) { Some(caps) => { println!("{}", &caps[0]); // This will print "Hello, Franz" println!("{}", &caps[1]); // This will print "Franz" }, None => (), } 
Enter fullscreen mode Exit fullscreen mode

Python

pattern = re.compile("Hello, (.+)") matcher = pattern.search("Hello, Franz") if matcher is not None: print(matcher.group(0)) # This will print "Hello, Franz"  print(matcher.group(1)) # This will print "Franz" 
Enter fullscreen mode Exit fullscreen mode

Javascript

const str = 'Hello, Franz'; // Regular expression is compiled when script is loaded const pattern1 = /Hello, (.+)/; // Regular expression is compiled when script is executed const pattern2 = new RegExp('Hello, (.+)'); // match() returns all matches while exec() returns first match const matches1 = str.match(pattern1); if (matches1) { console.log(matches1[0]); // This will print "Hello, Franz" console.log(matches1[1]); // This will print "Franz" } 
Enter fullscreen mode Exit fullscreen mode

grep

#!/bin/bash echo "12345678 is my phone number" | grep -oE "[[:digit:]]+" # This will print "12345678" # GNU grep has -P option echo "12345678 is my phone number" | grep -oP "\d+" # This will print "12345678" 
Enter fullscreen mode Exit fullscreen mode

sed

#!/bin/bash # -n to prevent printing result twice # -E to use extended regular expressions echo 'Hello, Franz' | sed -nE 's/Hello, (.+)/\1/p' # This will print "Franz" 
Enter fullscreen mode Exit fullscreen mode

gawk

#!/bin/bash # $0 is the original string without field splitting echo 'Hello, Franz' | gawk 'match($0, /Hello, (.+)/, groups) { print groups[1] }' # This will print "Franz" 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)