正则表达式在文档中查找给定开始和结束位置的整个字符串

时间:2017-07-17 19:46:16

标签: regex eclipse

我试图想出一个在Eclipse查找/替换对话框中使用的正则表达式,它将找到两点之间的字符串。

例如,我想找到"代码"在:

  12345 code acb=12ab3cd

"代码"位于第12位(1指数基数)。

(?<=^.{9}.{0,8})code有效 - 在编辑器中搜索10到18之间。

(?<=^.{7}.{0,5})code也返回true。即使结尾位于搜索字符串的中间。开始/结束位置是8和13。

如何确保它仅捕获范围内的整个单词?

1 个答案:

答案 0 :(得分:0)

您可以将lookbehind移动到模式的末尾。

code(?<=^.{9}.{0,8})

现在,在匹配code之后检查是否,如果有任何9个字符(除了换行符)以及任何0到8个字符,它将仅匹配(紧接在当前位置的左侧(即code之后的那个),除了换行符之外。

请参阅regex demo,同时在Java regex compatible OCPSoft regex tester测试:

enter image description here