Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Java 9 Regular Expressions

You're reading from   Java 9 Regular Expressions A hands-on guide to implement zero-length assertions, back-references, quantifiers, and many more

Arrow left icon
Product type Paperback
Published in Jul 2017
Publisher Packt
ISBN-13 9781787288706
Length 158 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Anubhava Srivastava Anubhava Srivastava
Author Profile Icon Anubhava Srivastava
Anubhava Srivastava
Arrow right icon
View More author details
Toc

Table of Contents (9) Chapters Close

Preface 1. Getting Started with Regular Expressions 2. Understanding the Core Constructs of Java Regular Expressions FREE CHAPTER 3. Working with Groups, Capturing, and References 4. Regular Expression Programming Using Java String and Scanner APIs 5. Introduction to Java Regular Expression APIs - Pattern and Matcher Classes 6. Exploring Zero-Width Assertions, Lookarounds, and Atomic Groups 7. Understanding the Union, Intersection, and Subtraction of Character Classes 8. Regular Expression Pitfalls, Optimization, and Performance Improvements

The subtraction of character classes


Suppose we have to match characters that belong to one class but not to another in a composite character class pattern. There is no separate operator for the subtraction operation. Subtraction is performed by using the intersection operator, &&, and a negated inner character class.

Note

A regular expression is usually more readable if we write the larger set in front and the one we want to subtract from it after the && operator.

For example, consider the following composite character class:

[0-9&&[^3-6]] 

It will match the digits, 0 to 9, except the digits, 3 to 6. This character class can also be written as a union of two character classes:

[[0-2][7-9]] 

We can also just use a simple character class, as follows:

[0-27-9]  
  

In order to match all the English consonant uppercase letters, we can subtract five vowels from uppercase letters, such as in the following regex:

[A-Z&&[^AEIOU]] 

We can also reverse the order of the two sets...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime