我试图想出一个在Eclipse查找/替换对话框中使用的正则表达式,它将找到两点之间的字符串。
例如,我想找到"代码"在:
12345 code acb=12ab3cd
"代码"位于第12位(1指数基数)。
(?<=^.{9}.{0,8})code
有效 - 在编辑器中搜索10到18之间。
但(?<=^.{7}.{0,5})code
也返回true。即使结尾位于搜索字符串的中间。开始/结束位置是8和13。
如何确保它仅捕获范围内的整个单词?
答案 0 :(得分:0)
您可以将lookbehind移动到模式的末尾。
code(?<=^.{9}.{0,8})
现在,在匹配code
之后检查是否,如果有任何9个字符(除了换行符)以及任何0到8个字符,它将仅匹配(紧接在当前位置的左侧(即code
之后的那个),除了换行符之外。
请参阅regex demo,同时在Java regex compatible OCPSoft regex tester测试: