`

正则表达式匹配 (REGEXP搜索条件)

 
阅读更多
REGEXP 搜索条件和 REGEXP_SUBSTR 函数支持以下语法约定,同时它们假定反斜线为转义字符。而 SIMILAR TO 搜索表达式不支持这些约定。
正则表达式语法 名称和含义
\0 xxx

匹配值为 \0xxx 的字符,其中 xxx 是任何八进制数字序列,0 是零。例如,\0134 匹配反斜线。
\a

匹配报警字符。
\A

用在字符集外部以便匹配字符串的开头。

等效于在字符集外部使用的 ^。
\b

匹配退格字符。
\B

匹配反斜线字符 (\)。
\c X

匹配已命名的控制字符。例如,\cZ 代表 ctrl-Z。
\d

匹配当前归类中的一个数字。例如,以下语句搜索 Contacts.Phone 以查找以 00 结尾的所有电话号码:


SELECT Surname, Surname, City, Phone
   FROM Contacts
   WHERE Phone REGEXP '\\d{8}00';

\d 既可用在字符类的内部也可用在字符类的外部,等效于 [[:digit:]]。
\D

匹配数字以外的任何字符。它的作用与 \d 正好相反。

\D 既可用在字符类的内部也可用在字符类的外部,等效于 [^[:digit:]]。

在方括号内使用取非速记时请务必谨慎。[\D\S] 与 [^\d\s] 并不相同。后者匹配数字或空格以外的任何字符。所以它匹配 x,但不匹配 8。而前者匹配不是数字或不是空格(满足两个条件之一)的任何字符。因为数字不是空格,空格也不是数字,所以 [\D\S] 可以匹配任何字符、数字、空格或其它字符。
\e

匹配转义字符。
\E 将由 \Q 启动的将元字符视为非元字符这一功能停止。
\f

匹配换页符。
\n

匹配换行符。
\Q

将所有元字符视为非元字符,直到遇到 \E。例如,\Q[$\E 等效于 \[\$。
\r

匹配回车符。
\s

匹配一个被视为白空格的空格或字符。例如,以下语句从 Products.ProductName 中返回名称中至少有一个空格的所有产品名:


SELECT Name
FROM Products
WHERE Name REGEXP '.*\\s.*'

\s 既可用在字符类的内部也可用在字符类的外部,等效于 [[:whitespace:]]。
\S

匹配非白空格字符。它的作用与 \d 正好相反,而等效于 [^[:whitespace:]]。

\S 既可用在字符类的内部也可用在字符类的外部。

在方括号内使用取非速记时请务必谨慎。[\D\S] 与 [^\d\s] 并不相同。后者匹配数字或空格以外的任何字符。所以它匹配 x,但不匹配 8。而前者匹配不是数字或不是空格(满足两个条件之一)的任何字符。因为数字不是空格,空格也不是数字,所以 [\D\S] 可以匹配任何字符、数字、空格或其它字符。
\t

匹配水平制表符。
\v

匹配垂直制表符。
\w

匹配当前归类中的字母字符、数字或下划线。例如,以下语句从 Contacts.Surname 返回长度正好为七个字母数字字符的所有姓:


SELECT Surname
FROM Contacts
WHERE Surname REGEXP '\\w{7}';

\w 既可用在字符类的内部也可用在字符类的外部。

等效于 [[:alnum:]_].。
\W

匹配当前归类中字母字符、数字或下划线以外的任何字符。它的作用与 \w 正好相反,而等效于 [^[:alnum:]_]。

在字符类的内部和外部都可使用此正则表达式
\x hh

匹配值为 0xhh 的字符,其中 hh 最多为两个十六进制数字。例如,\x2D 等效于一个连字符。

等效于 \x{hh}。
\x{ hhh }

匹配值为 0xhhh 的字符,其中 hhh 最多为三个十六进制数字。
\z 和 \Z

匹配字符串结尾处的位置(而非字符)。

等效于 $。
分享到:
评论

相关推荐

    Lucene 使用正则表达式

    在Lucene中,可以通过`regexQuery`来利用正则表达式进行复杂条件的匹配,从而实现更精确的搜索需求。 #### regexQuery详解 `regexQuery`是Lucene提供的一个用于执行正则表达式查询的方法。它接受一个`Term`对象作为...

    正则表达式在数据库查询中的应用

    1. **模糊查询**:通过正则表达式匹配相似的文本,如查询包含特定单词或短语的记录。 ```sql SELECT * FROM articles WHERE content REGEXP '.*example.*'; ``` 2. **格式验证**:确保输入的数据符合预期的格式,...

    mysql正则表达式(regexp和rlike)的搜索功能实例分析

    本文实例讲述了mysql正则表达式(regexp和rlike)的搜索功能。分享给大家供大家参考,具体如下: 我们知道正则表达式是描述搜索模式的特殊字符串。 它是一个强大的工具,为我们提供一种简洁灵活的方法来识别基于模式...

    常用java正则表达式

    接着,定义了一个名为`SocialSecurityNumberValidator`的类,在主方法中使用`Pattern.compile`编译正则表达式,并使用`matcher.matches`来检查字符串是否与给定的模式匹配。 通过上述知识点的学习,读者可以了解到...

    Java使用正则表达式提取XML节点内容的方法示例

    Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧。 一、正则表达式简介 正则表达式是指一...

    C语言正则表达式库

    3. **回溯算法**:PCRE库使用了高效的回溯算法来执行正则表达式匹配。虽然这可能会导致性能问题,但通过优化的匹配引擎和使用预编译模式,可以显著提高效率。 4. **匹配选项**:提供了许多可配置的匹配选项,例如不...

    正则表达式测试工具C#版(src)

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...

    regexp正则表达式正则表达式正则表达式

    正则表达式(Regular Expression),通常简称为“regex”或“regexp”,是一种用于模式匹配的强大工具,广泛应用于文本处理领域,如搜索、替换以及数据验证等场景。在计算机科学中,正则表达式被用来描述一组字符串...

    pb 使用正则表达式源码pbregexp

    例如,开发者可能需要创建一个`RegExp`实例,设置正则表达式模式,然后调用`Execute`方法进行匹配操作。如果匹配成功,可以通过`Match`对象获取相关信息。 描述中提到的“pb中使用正则表达式组件,通过该组件可以在...

    正则表达式匹配(自动转换)

    "正则表达式匹配(自动转换)"指的是通过特定的软件或编程库,将正则表达式应用到文本中,自动进行匹配操作,无需用户手动处理。 在描述中提到的"无需再为正则表达式而烦恼",意味着这样的工具或功能提供了便捷的...

    Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解

    position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大小写进行检索;’c’区分大小写进行检索。默认为’c’) SELECT REGEXP_...

    使用正则表达式的模式匹配

    1. **String.prototype.match()**:返回字符串中与正则表达式匹配的所有结果。 2. **String.prototype.search()**:返回匹配项的索引位置,如果没有找到则返回-1。 3. **String.prototype.replace()**:根据提供的...

    正则表达式(日期校验)

    - **语法结构**:正则表达式是由一系列字符和特殊符号组成的模式串,用于匹配字符串中的特定模式。 - **常见符号**: - `.`:匹配任意单个字符。 - `*`:匹配前面的子表达式零次或多次。 - `+`:匹配前面的子...

    Oracle数据库正则表达式

    1. REGEXP_LIKE:比较一个字符串是否与正则表达式匹配 2. REGEXP_INSTR:在字符串中查找正则表达式,并且返回匹配的位置 3. REGEXP_SUBSTR:返回与正则表达式匹配的子字符串 4. REGEXP_REPLACE:搜索并且替换匹配的...

    正则表达式.rar || 正则表达式.rar

    正则表达式,简称为正则,是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换。在计算机科学和编程领域,正则表达式是处理文本的基础,广泛应用于数据验证、搜索、替换和提取等多种场景。下面将详细...

    VBScript 正则表达式详解

    VBScript 中的正则表达式详解是指使用 RegExp 对象来提供简单的正则表达式支持。该对象有三个属性和三个方法,分别是 Global 属性、IgnoreCase 属性、Pattern 属性、Execute 方法、Replace 方法和 Test 方法。 1. ...

    ORACLE正则表达式

    ORACLE 正则表达式的使用(REGEXP_LIKE REGEXP_INSTR REGEXP_SUBSTR REGEXP_REPLACE)

    Oracle正则表达式函数全面解析

    Oracle数据库提供了丰富的正则表达式函数,这些函数可以帮助开发者更高效地进行文本匹配、搜索和替换等操作。本文将详细介绍Oracle数据库中支持的四个主要正则表达式函数:`REGEXP_LIKE`、`REGEXP_INSTR`、`REGEXP_...

    正则表达式转NFA实现

    正则表达式通常简称为“regex”或“regexp”,可以表示一系列简单的到复杂的字符模式。 正则表达式的转换通常涉及到将其转化为一种计算模型,以便更方便地进行匹配操作。其中,非确定性有限自动机(NFA,Non-...

    正则表达式(regex)C语言源码,超强查找/替换算法

    正则表达式(Regular Expression,简称regex)是编程领域中一种强大的文本处理工具,它用于在字符串中查找、替换或匹配特定模式。在C语言中,实现正则表达式功能通常需要借助第三方库,比如本案例中提到的Henry ...

Global site tag (gtag.js) - Google Analytics