- Java 9 Regular Expressions
- Anubhava Srivastava
- 326字
- 2021-07-02 18:58:33
The basic rules of regular expressions
Many of you are familiar with wild cards (in the Unix world, it is called glob pattern) matching of text. Here:
- ? matches any single character
- * matches any sequence of characters
- [abc] matches any one character inside square brackets, so it will match a, b, or c
The regular expression pattern goes many steps farther than wild cards, where one can set many rules in a regex pattern, such as the following:
- Match a character or a group of characters optionally (0 or 1 times)
- Use quantifiers in regex patterns to match variable length text
- Use a character class to match one of the listed characters or match a range of characters
- Use a negated character class to match any character except those matched by the character class
- Match only certain character categories, such as match only digits, only upper case letters, or only punctuation characters
- Match a character or a group of characters for a specific length.
- Match a length range, such as allow only six to 10 digits in the input or match an input of a minimum of eight characters
- Use Boolean "OR" in an alternation to match one of the few alternative options
- Use groups in regex patterns and capture substrings that we want to extract or replace from a given input
- Alter the behavior of matching by keeping it greedy (eager), lazy (reluctant), or possessive
- Use back references and forward references of groups that we capture
- Use zero-width assertions such as the following:
- Start and end anchors
- Word boundary
- Lookahead and lookbehind assertions
- Start a match from the end of a previous match
For example, in a regex to match a or b we can use the following alternation:
a|b
To match one or more instances of the digit 5, we can use the following:
5+
To match any substring that starts with p and ends with w, we can use the following:
p.*w
推薦閱讀
- 測試驅動開發:入門、實戰與進階
- VMware vSphere 6.7虛擬化架構實戰指南
- Spring Cloud、Nginx高并發核心編程
- Unity 2D Game Development Cookbook
- 小型編譯器設計實踐
- Modern C++ Programming Cookbook
- Java Web應用開發給力起飛
- Python一行流:像專家一樣寫代碼
- Learning Bootstrap 4(Second Edition)
- Python硬件編程實戰
- Xamarin Cross-Platform Development Cookbook
- MySQL數據庫應用實戰教程(慕課版)
- 實戰Python網絡爬蟲
- Python 3快速入門與實戰
- 計算機應用基礎案例教程(第二版)