我试图找到某些模式的所有出现并用另一个文本替换它。但是,我还需要在匹配模式之前的文本之前添加单个字符。一个例子将澄清我的意图;我需要转换以下内容:
listName != null && listName.size() > 0
为:
listName != null && !listName.isEmpty()
正如您所看到的,我不仅需要将size() > 0
替换为isEmpty()
,还需要在!
之前添加listName
,以便解析器应向后阅读,直到它为止到达空格或制表符。我试过以下但没有运气,
[ (.*?)\size\(\) > 0]\1
!$1isEmpty()
答案 0 :(得分:1)
您可以使用此搜索替换:
pattern: (\S+?\.)size\(\) > 0\b
replacement: !$1isEmpty()
\S
表示所有不是空格,而+?
是一个惰性量词,它将最小字符数量提取到.size()...
。