支持PCRE的正则表达式在线测试神器+正则表达式忽略大小写

2021-07-12 10:28:17 浏览数 (1)

在工作中经常用到正则表达式,但是有些稍微复杂的表达式,又不能一气呵成,所以便需要经过调试。

可是国内的几款常见的在线测试工具,不支持PCRE,这里列举几个,如下:

  • http://tool.chinaz.com/regex/
  • https://c.runoob.com/front-end/854
  • https://tool.oschina.net/regex

总不能为了这个自己再单独每次写用例,或者写个工具吧,于是找了个国外的 https://regexr.com/,如下图所示:

如果引擎选择JavaScript的情况下,就会提示不支持,如下:

下面举个实际应用中关于实现忽略大小写的方式。

java中使用正则表达式直接忽略大小写的写法,在javax.validation.constraints.Pattern中的regexp参数进行匹配验证的时候可以使用这种模式,如下示例:

代码语言:javascript复制
//regex ignore case
import org.junit.Test;
import java.util.regex.Pattern;

public class RegexTest {
    @Test
    public void testIgnoreCaseSensitivity() {
        String content = "changyandouBLOG";
        String pattern = "((?im)(changyandoublog|changyandouBLOG|changyandouBlog|CHANGYANDOUBLOG))";
        boolean isMatch = Pattern.matches(pattern, content);
        System.out.println("微信:changyandoublog "   isMatch);
    }
}

可以参考:Can you make just part of a regex case-insensitive? 中的解决方案,涉及到关于其中的 ?i 的用法在下图中有相对详细的描述:

(图片来自:Specifying Modes Inside The Regular Expression)

0 人点赞