- 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
推薦閱讀
- 黑客攻防從入門到精通(實戰秘笈版)
- 兩周自制腳本語言
- Mastering Unity Shaders and Effects
- PhoneGap Mobile Application Development Cookbook
- Node.js全程實例
- ASP.NET開發與應用教程
- C/C++程序員面試指南
- 開源項目成功之道
- Unity 2018 Augmented Reality Projects
- Clojure High Performance Programming(Second Edition)
- Spring Boot從入門到實戰
- HTML5 WebSocket權威指南
- Python機器學習
- Swift iOS Programming for Kids
- 人件集:人性化的軟件開發