>>正则表达式匹配<<如何捕捉' ab'仅限于像'aab'

时间:2018-02-01 03:47:52

标签: java regex

我们得到了这样的内容: state 1rd court house, state state 2nd court house

我们想要的是state xxx court house

我们试试lookahead / lookbehind像这样: (?=state).*?(?<=court house)

但是这个正则表达式提取aab就像内容一样ab种内容

如何从ab

等字符串中仅提取aab

表示start with something, but the capture content do not contains it

更新

  

抱歉描述不佳

     

我想要匹配的是state 1rd court housestate 2nd court house而不匹配state state 2nd court house

     

这意味着如果state state 2nd court house我想提取后方state 2nd court house,请忽略内容中出现的第一个state

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你只想在法庭上捕捉一切,包括&#34;法院&#34;。

正则表达式

state(?<whatYouWant> [0-9].*?court house)*

测试字符串

state 1st court house, state state 2nd court house
  

匹配1:state 1st court house
  小组whatYouWant1st court house

  匹配2:state 1st court house
  小组whatYouWant2nd court house

我认为当你点击数字时,回头会停止:&#34; 1&#34;,&#34; 2&#34;。如果我的假设是错误的,请将打破正则表达式的数据发给我。