`
salazar
  • 浏览: 30991 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

内嵌标志表达式

 
阅读更多
对应的内嵌标志表达式是 (?i),它有四种形式:
1,(?i)
2,(?-i)
3,(?i:X)
4,(?-i:X)
不带有 - 的是开标志,带有 - 的是关标志。

把上面的代码改成这样: 

Java code 
public class Test {
    public static void main(String[] args) {
        String str = "Book";
        String regex = "(?i)book"; 
        System.out.println(str.matches(regex));
    }
} 

我们就达到了同样的效果,当然这样并不是最好的,因为字符串中只有 B 是大写的,
我们没有必要把所有的字符都进行不区分大小写匹配,我们可以在打开标志,用 (?i) 的
第二种形式马上关掉它:
    String regex = "(?i)b(?-i)ook";

这样的话,只有 b 是区分大小写了,而 (?-i) 后面的还是得区分大小写匹配的。这样写
可能看上去很不顺眼,我们还能使用第 3 种形式直接指定某些字符是不区分大小写的。
    String regex = "(?i:b)ook";

这样的表达式与上面的那个在语义上是相同的。就效率上肯定是优于一下子开,一下子关的。

可见内嵌标志表达式要比指定编译参数的功能强大许多。
分享到:
评论

相关推荐

    正则表达式测试软件

    5. **标志设置**:允许用户设置不同的正则表达式标志,如忽略大小写(i),多行模式(m),全局匹配(g)等,以改变正则表达式的行为。 6. **帮助与教程**:软件可能内嵌正则表达式语法参考和教程,方便用户学习和查阅。 ...

    Python正则表达式操作指南%2B-%2BUbuntu中文.pdf

    - **正则表达式本质**: 正则表达式(Regular Expression, RE)是一种用于定义字符串集合的小型编程语言,内嵌于Python中,并通过`re`模块实现。用户可以通过正则表达式来指定想要匹配的字符串集合的规则。 - **应用...

    perl 正则表达式

    Perl还提供了多种模式匹配选项,这些选项可以通过在正则表达式的末尾添加标志来启用。 1. **匹配所有可能的模式 (g选项)**:当使用`g`选项时,正则表达式会查找字符串中所有可能的匹配项。例如,`/abc/g`会在整个...

    python 正则表达式

    正则表达式是一种高度专业化的小型编程语言,它内嵌于Python中,并通过`re`模块实现。通过使用正则表达式,开发者可以为希望匹配的字符串集指定特定的规则。这些规则可以用于检查字符串是否符合某种模式、在字符串中...

    GCC.rar_内嵌汇编

    5. **副作用管理**:汇编指令可能会改变通用寄存器、状态标志或内存,因此需要在内嵌汇编块中声明这些副作用,以避免与高级语言代码中的其他部分产生冲突。 6. **安全性和移植性**:虽然内嵌汇编提供了强大的能力,...

    详解Python中的正则表达式

     就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言, (在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被 编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。  re ...

    基于ARM的汇编语言与C语言混合编程的方法研究.pdf

    内嵌汇编指令可以支持ARM和Thumb指令集,其操作数可以是C/C++表达式,表达式值按无符号数处理。编程中需要注意寄存器的使用限制,操作数的复杂性,寄存器和常量的使用规范,标号的使用,指令的展开,内存分配方式,...

    ES6总结和一个简单小问题

    - 模板字符串使用反引号(`)表示,可以内嵌表达式 `${}`。 4. **正则表达式** - 两种创建方式:`new RegExp()` 和 `/pattern/flags`。 - `sticky` 属性指示是否有`y`标志,表示匹配必须从上次匹配成功的下一个...

    C及汇编语言的混合编程PPT学习教案.pptx

    - 必须注意,物理寄存器如R0~R3、SP、LR和CPSR中的N、Z、C、V标志位的使用,因为C表达式可能会修改它们,可能导致意外的结果。应避免直接使用寄存器代替变量,以防止寄存器冲突。 3. **从汇编程序中访问C程序变量*...

    ai wa waedcdcsdsdv

    例如,在某些编程语言中,“`”可能表示反引号,用于执行内嵌命令等。 5. **错误处理**:如果这部分内容来自于一个程序的输出,那么它也可能包含了程序运行时的一些错误信息或者异常日志。 ### 分析示例 - **2009t...

    string_typography:字符串转换器,可将字符串转换为小部件排版

    如果你不知道什么是“内嵌代码”,“内嵌代码是像this ”(某些字符,标志着)。 使用正则表达式自动检测。 例子: `text` 盒子装饰 文字样式 图像 自动生成图像,具体取决于您的文本示例 < img src

    基于ARM的汇编语言与C语言混合编程的方法研究-论文

    在使用内嵌汇编时,需要注意以下几点:避免使用过于复杂的操作数表达式以防止寄存器冲突,寄存器使用时要避免影响编译器的寄存器分配,对常量的操作可能需要多条指令展开,且要注意标志位的影响。 其次,论文分析了...

    合泰 C Compiler V3 使用手册

    - **字符串及其结束标志**: 字符串通常以'\0'作为结束标志。 - **指针的概念**: 存储内存地址的变量。 - **指针的类型**: 根据所指向的变量类型不同而不同。 - **指针的操作**: 包括解引用、地址运算等。 - **数组名...

    Intel汇编语言程序设计 第四版

    ·讲述了高级语言内嵌汇编代码以及汇编语言程序同实地址模式及保护模式的C/C++程序的链接 ·附带扩展的指令集手册,其中包含了指令格式和CPU标志的使用 ·讲述了中断和量和设备I/O ·随书附带的CD-ROM中包含了...

    C#Web应用程序入门经典

    - **验证控件**: 包括CompareValidator(比较验证)、CustomValidator(自定义验证)、RegularExpressionValidator(正则表达式验证)和RequiredFieldValidator(必填项验证)等。 - **用户注册示例**: 通过这些控件...

    Intel汇编语言程序设计(第四版)

    ·讲述了高级语言内嵌汇编代码以及汇编语言程序同实地址模式及保护模式的C/C++程序的链接 ·附带扩展的指令集手册,其中包含了指令格式和CPU标志的使用 ·讲述了中断和量和设备I/O ·随书附带的CD-ROM中包含了...

    循环结构的实现PPT学习教案.pptx

    1. 循环变量(N)的初值(e1)、终值(e2)和步长(e3)可以是常数、变量或表达式。 2. e1、e2可以为0,但e3不能为0,因为它是控制循环次数的增量。 3. 循环次数可以通过公式 `r = INT((e2 - e1 + e3) / e3)` 计算,...

Global site tag (gtag.js) - Google Analytics