在匹配模式之前保留字符串字符

时间:2014-03-06 17:47:11

标签: regex

我试图找到某些模式的所有出现并用另一个文本替换它。但是,我还需要在匹配模式之前的文本之前添加单个字符。一个例子将澄清我的意图;我需要转换以下内容:

listName != null && listName.size() > 0

为:

listName != null && !listName.isEmpty()

正如您所看到的,我不仅需要将size() > 0替换为isEmpty(),还需要在!之前添加listName,以便解析器应向后阅读,直到它为止到达空格或制表符。我试过以下但没有运气,

[ (.*?)\size\(\) > 0]\1

!$1isEmpty()

1 个答案:

答案 0 :(得分:1)

您可以使用此搜索替换:

pattern: (\S+?\.)size\(\) > 0\b
replacement: !$1isEmpty()

\S表示所有不是空格,而+?是一个惰性量词,它将最小字符数量提取到.size()...

相关问题