软件构造相关一

软件构造相关一

关于Java正则表达式问题的相关参考。

  1. 什么是正则表达式?

正则表达式定义字符串的搜索模式,英文全称是regular expression。
搜索模式可以是简单字符,固定字符串或包含描述模式的特殊字符的复杂表达式的任何内容,由正则表达式定义的 pattern 可以同时匹配一个或多个,或者一个都没匹配到。正则表达式可用于搜索,编辑和操作文本。

使用正则表达式分析或修改文本的过程称为:正则表达式应用于文本/字符串。
由正则表达式定义的模式从左到右应用于文本。一旦源字符在匹配中被使用,就不能重复使用。例如,正则表达式aba将仅可以匹配ababababa两次(aba_aba__)。

  1. 正则表达式实例

一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 “Hello World” 字符串。
.(点号)也是一个正则表达式,它匹配任何一个字符如:“a” 或 “1”。

下表列出了一些正则表达式的实例及描述:
软件构造相关一
java.util.regex 包主要包括以下三个类:

Pattern 类:
Pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。

Matcher 类:
Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

PatternSyntaxException:
PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

  1. 正则表达式规则
    常见的匹配符号
    软件构造相关一
    元字符
    下面的元字符有一个预先定义的含义,使某些共同的pattern更易于使用,例如 \d 代替 [0…9]。
    软件构造相关一
    量化
    量词定义如何经常可以发生的元素。{}的符号?,*,+,并定义正则表达式的数量
    软件构造相关一