zoukankan      html  css  js  c++  java
  • 正则表达式之不区分大小写的匹配

    对于两段文本

    这句话里有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());
            }
        }
    }
  • 相关阅读:
    Dubbo笔记(二)
    Dubbo笔记(一)
    初识多线程
    Redis底层结构全了解
    用golang刷算法--归并排序算法
    谈谈golang中的channel
    用golang刷算法--快速排序算法
    谈谈golang中的引用类型与地址分配
    Arch安装后的配置(超详细)
    ArchLinux安装(Deepin v20桌面环境)
  • 原文地址:https://www.cnblogs.com/buyishi/p/10441143.html
Copyright © 2011-2022 走看看