CASE_INSENSITIVE
public static final int CASE_INSENSITIVE
启用不区分大小写的匹配。
默认情况下,不区分大小写的匹配假定仅匹配 US-ASCII 字符集中的字符。可以通过指定 UNICODE_CASE 标志连同此标志来启用 Unicode 感知的、不区分大小写的匹配。
通过嵌入式标志表达式 (?i) 也可以启用不区分大小写的匹配。
指定此标志可能对性能产生一些影响。
package com.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test1 {
/**
* @Description
* @param
* @throws
*/
public static void main(String[] args) {
Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher("java Java JAVa JaVa IloveJAVA you hateJava afasdfasdf");
StringBuffer buf = new StringBuffer();
int i=0;
while(m.find()) {
i++;
if(i%2 == 0) {
m.appendReplacement(buf, "java");
} else {
m.appendReplacement(buf, "JAVA");
}
}
m.appendTail(buf);//添加尾巴
p(buf);
}
static void p(Object o){
System.out.println(o);
}
}
运行结果:
JAVA java JAVA java IloveJAVA you hatejava afasdfasdf
分享到:
相关推荐
正则表达式还可以通过`Pattern.compile(String regex, int flag)`函数中的`flag`参数调整匹配行为,例如`Pattern.CASE_INSENSITIVE`使匹配不区分大小写,`Pattern.MULTILINE`让`^`和`$`匹配每一行的开始和结束,而...
如果需要设置匹配标志,如`CASE_INSENSITIVE`(不区分大小写)或`MULTILINE`(多行模式),可以使用`Pattern.compile(String regex, int flags)`方法。`Pattern`类还提供了一些其他方法,如`matcher(CharSequence ...
2. 使用全局标志`g`进行全局查找,`i`标志忽略大小写,以及`m`标志使^和$匹配行首和行尾。 3. 使用正向预查和负向预查(例如:(?=...)和(?!...))来匹配特定条件前后的文本。 在Java语言中的应用,你将学习: 1. `...
如果我们想在查找时忽略大小写,可以使用`Pattern.CASE_INSENSITIVE`标志,如下所示: ```java Pattern p = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE); ``` 提取功能 提取是指从字符串中提取出特定的...
- UNICODE_CASE:结合CASE_INSENSITIVE,进行Unicode大小写不敏感匹配。 - CANON_EQ:忽略Unicode的规范化形式差异。 4.正则表达式应用示例: 让我们看一个更复杂的例子,其中我们使用Matcher的find方法来查找字符...
结合使用`CASE_INSENSITIVE`和`UNICODE_CASE`标志,可以根据需要在匹配过程中忽略大小写,并确保对Unicode字符的正确处理。在编写涉及字符串处理的Java代码时,熟练掌握这些特性可以极大地提高代码的灵活性和准确性...
- 提供了8种模式常量,如 `CASE_INSENSITIVE` 用于不区分大小写的匹配。 - 两个构造方法:`Pattern.compile(String regex)` 和 `Pattern.compile(String regex, int flags)`,分别用于创建Pattern对象。 - `...
正则表达式可以使用标志来改变其行为,比如`g`全局搜索,`i`忽略大小写,`m`多行模式等。在Java中,这些标志是在编译模式时传递的,而在JavaScript中,它们直接附加到正则表达式字面量的末尾。 例如,在Java中创建...
对于大小写敏感的问题,可以使用`Pattern.CASE_INSENSITIVE`标志来解决: ```java Pattern p = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE); ``` ##### 2. 提取(Extracting) 提取是根据正则表达式从字符...
- `Pattern.CASE_INSENSITIVE`: 忽略大小写 - `Pattern.MULTILINE`: 多行模式 - `Pattern.DOTALL`: 点号可以匹配任何字符(包括换行符) - `Pattern.UNICODE_CASE`: 支持Unicode字符的大小写转换 - `Pattern....
例如,`QRegExp("pattern", Qt::CaseInsensitive)` 会让匹配变为不区分大小写。 3. **匹配函数**:`indexIn()` 和 `exactMatch()` 是两个重要的匹配函数。`indexIn()` 返回第一个匹配的开始位置,如果未找到则返回-...
`Pattern.compile(String regex, int flags)`允许设置匹配标志,如`CASE_INSENSITIVE`(忽略大小写),`MULTILINE`(多行模式)和`DOTALL`(使`.`匹配任何字符,包括换行符)等。 一旦正则表达式被编译成`Pattern`...
6. **正则表达式模式**:Java支持多种匹配模式,例如`CASE_INSENSITIVE`使得匹配不区分大小写。你可以通过`Pattern.compile(regex, flags)`传入模式标志,如`Pattern pattern = Pattern.compile("example", Pattern....
- `Pattern.flags(int flags)`:可以设置一些标志,例如忽略大小写(`CASE_INSENSITIVE`)或多行模式(`MULTILINE`)。 2. **Matcher类**: - `Matcher matcher = pattern.matcher(CharSequence input)`:用`...
* `Pattern.CASE_INSENSITIVE`: 忽略大小写。 * `Pattern.MULTILINE`: 将整个字符串作为一个单行匹配。 * `Pattern.DOTALL`: 将点号(.)匹配所有字符,包括换行符。 * `Pattern.UNIX_LINES`: 将行尾符号作为unix样式...
- `Pattern.CASE_INSENSITIVE` 忽略大小写匹配,配合`UNICODE_CASE`处理Unicode字符集。 - `Pattern.COMMENTS` 允许注释和空白字符。 - `Pattern.DOTALL` 让`.`匹配包括换行在内的所有字符。 - `Pattern....
- `Pattern.CASE_INSENSITIVE` 使匹配对大小写不敏感。 - `***MENTS` 忽略正则表达式中的空白和以 `#` 开头的注释,直到行尾。 - `Pattern.MULTILINE` 允许表达式匹配多行。 - `Pattern.UNIX_LINES` 仅识别 `\n` ...
- `Pattern.flags()`: 可以设置正则表达式的标志,如CASE_INSENSITIVE(不区分大小写)或MULTILINE(多行模式)。 2. **Matcher类**: - `Matcher.matches()`: 检查整个输入字符串是否匹配正则表达式。 - `...
* static Pattern compile(String regex, int flag):编译模式,参数 regex 表示输入的正则表达式,flag 表示模式类型(Pattern.CASE_INSENSITIVE 表示不区分大小写)。 * Matcher match(CharSequence input):获取...