正则表达式之不区分大小写的匹配

Posted buyishi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式之不区分大小写的匹配相关的知识,希望对你有一定的参考价值。

对于两段文本

这句话里有two个word。
这句话里有tWo个WoRd。

我希望用同一个正则表达式将其中的单词two、word、tWo、WoRd提取出来

这时候就须要用到不区分大小写的匹配模式

C++示例

#include <iostream>
#include <regex>
using namespace std;
int main()
{
    string text = "这句话里有two个word。";
    regex re("[a-z]+");
    sregex_iterator itr1(text.begin(), text.end(), re);
    sregex_iterator itr2;
    for (sregex_iterator itr = itr1; itr != itr2; ++itr)
    {
        cout << itr->str() << endl;
    }
    string text2 = "这句话里有tWo个WoRd。";
    regex re2("[a-z]+", regex_constants::icase);  //不区分大小写的匹配
    sregex_iterator beginIterator(text2.begin(), text2.end(), re2);
    sregex_iterator endIterator;
    for (sregex_iterator itr = beginIterator; itr != endIterator; ++itr)
    {
        cout << itr->str() << endl;
    }
    return 0;
}

Java示例

import static java.lang.System.out;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegularExpressionDemo {

    public static void main(String[] args) {
        String text = "这句话里有tWo个WoRd。";
        Pattern pattern = Pattern.compile("[a-z]+", Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(text);
        while (matcher.find()) {
            out.println(matcher.group());
        }
    }
}

 

以上是关于正则表达式之不区分大小写的匹配的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置正则表达式不区分大小写

Nginx中的正则如何匹配数字

JavaScript正则表达式匹配不区分大小写的单词? [复制]

正则表达式:匹配以“AM”结尾的单词(不区分大小写比较)[重复]

nginx 正则表达式

Postgresql查询时不区分大小写