Eclipse Regex搜索行的开头和结尾不起作用

时间:2013-03-06 18:35:01

标签: regex eclipse

这是一个小问题,但它一直在唠叨我。当我在Eclipse中执行查找查找/替换时,我使用^$并检查正则表达式盒子,我总是收到一条消息:

String Not Found

我不明白为什么。我知道CTRL+SPACE内容辅助功能,即使从列表中选择^,它也无效。

我正在看这个问题,Regex to match start of line and end of line for quick find and replace,但这对我不起作用。其他正则表达式搜索,例如^.;$工作正常。

我发现^$anchor characters,并且本身与字符串不匹配,但这些字符似乎适用于其他编辑器。

修改

例如,我想将数据列表转换为SQL in子句。

自:

1
2
3
Hi
I need to quote these!

要:

'1',
'2',
'3',
'Hi',
'I need to quote these!',

2 个答案:

答案 0 :(得分:5)

正如你所说,

^$是零宽度的锚点,因此它们本身不会匹配任何东西。您需要使用锚点来匹配文件中的任何内容。

答案 1 :(得分:1)

我能用这个正则表达式替换:

查找:^(\s*)(.*)$

替换:$1'$2',

所以我所做的就是使用:

  1. ^找到该行的开头。
  2. (\s*)查找并捕获任何空白区域。
  3. (.*)找到并捕获任何内容。
  4. $找到行尾。
  5. 然后用

    替换
    • $1首次捕获
    • ' quote
    • $2第二次捕获
    • ',引用逗号

    我希望^$自己合作,但这很酷b / c我可以在一次操作中完成。