什么是Java RegEx等效于"%A%B%"的SQL LIKE子句?

And*_*ndy 5 java regex

什么是Java RegEx等效于"%A%B%"的SQL LIKE子句?

非常基本的问题,我只是学习Java Regex风格.

jav*_*y79 10

我认为这是模式明智的: .*A.*B.*

我将为特定的java调用编辑和添加更多内容.

编辑#1:

//simplest match
"".matches( ".*A.*B.*" );

String foo = "";
foo.matches( ".*A.*B.*" );
Run Code Online (Sandbox Code Playgroud)

编辑#2:来自API文档:

Pattern p = Pattern.compile(".*A.*B.*");
Matcher m = p.matcher("your-string-here");
boolean b = m.matches();
Run Code Online (Sandbox Code Playgroud)

另外,我会看看RegexBuddy,它不是免费的,但它确实有生成许多语言的片段,测试和解析正则表达式等的方法.

  • @thejh - 不对.`.*A`将匹配"A",因为如果`.*`匹配"太多",正则表达式引擎将回溯.贪婪和非贪婪之间的区别仅在您使用括号捕获匹配时发挥作用. (2认同)