我想替换第二个和第三个管道字符之间出现的所有字符。例如:
<select >
<option value="http://www.test.com/teste4" selected>test 4</option>
<option value="http://www.test.com/teste1/">test1</option>
<option value="http://www.test.com/teste2">Google</option>
<option value="http://www.test.com/teste3">YouTube</option>
</select>
在此我希望用空值替换|hello|welcome,to|
,并替换一个巨大的文件。我需要在记事本++中使用正则表达式模式。
答案 0 :(得分:1)
在notepad ++中使用此正则表达式进行搜索:
^([^|]*\|[^|]*\|)[^|]*
并替换为:
$1
([^|]*\|[^|]*\|)
在第二个|
之前匹配并捕获文本到捕获组#1。
答案 1 :(得分:1)
假设您正在解析每一行,即令牌不能包含换行符:
找到:
^((?:[^|\n]*\|){2})[^|\n]*+\|
替换为:
$1|
描述
^
- 匹配行的开头((?:[^|\n]*\|){2})
- 第1组中的匹配和捕获:
(?:[^|\n]*\|){2}
以下表达式重复两次[^|\n]*
- 除管道或换行符之外的任何字符\|
- 后跟管道[^|\n]*+
- 您要删除的令牌(除了竖线或换行符之外的任何字符)\|
- 后跟管道