简体   繁体   English

Notepad ++ / Regular Expressions搜索和替换

[英]Notepad++/Regular Expressions search and replace

I'm new to regular expressions so this isn't strictly a Notepad++ question. 我是正则表达式的新手,所以这不是严格意义上的Notepad ++问题。 Here's the text I'm searching through to do a find-and-replace: 这是我正在搜索的文本,用于查找和替换:

$AsgTRNonCapCases = $row['AsgTRNonCapCases'];  $AsgRCCapDefs = $row[16];  $AsgRCCapCases = $row[17];  
$AsgRCNonCapDefs = $row[''];  $AsgRCNonCapCases = $row[19];  $DispGPCapDefs = $row[20];  
$DispGPCapCases = $row[''];  $DispGPNonCapDefs = $row[22];  $DispGPNonCapCases = $row[23];  
$DispDDCapDefs = $row[''];  $DispDDCapCases = $row[25];  $DispDDNonCapDefs = $row[26];  
$DispDDNonCapCases = $row[''];  $DispNPCapDefs = $row[28];  $DispNPCapCases = $row[29];  
$DispNPNonCapDefs = $row[''];  $DispNPNonCapCases = $row[31];  $DispODCapDefs = $row[32];  
$DispODCapCases = $row[''];  $DispODNonCapDefs = $row[34];  $DispODNonCapCases = $row[35];  
$DispBTACapDefs = $row[''];  $DispBTACapCases = $row[37];  $DispBTANonCapDefs = $row[38];  
$DispBTANonCapCases = $row[''];  $DispBTCCapDefs = $row[40];  $DispBTCCapCases = $row[41];  
$DispBTCNonCapDefs = $row[''];  $DispBTCNonCapCases = $row[43];  $DispJTACapDefs = $row[44];  
$DispJTACapCases = $row[''];  $DispJTANonCapDefs = $row[46];  $DispJTANonCapCases = $row[47];  $DispJTCCapDefs = $row[''];  $DispJTCCapCases = $row[49];  $DispJTCNonCapDefs = $row[50];  $DispJTCNonCapCases = $row[51];  $DispADDCapDefs = $row[''];  $DispADDCapCases = $row[53];  $DispADDNonCapDefs = $row[54];  $DispADDNonCapCases = $row[''];  $DispSCDCapDefs = $row[56];  $DispSCDCapCases = $row[57];  $DispSCDNonCapDefs = $row[58];  $DispSCDNonCapCases = $row[''];  $DispCTOCapDefs = $row[60]; $DispCTOCapCases = $row[61];  $DispCTONonCapDefs = $row[''];  $DispCTONonCapCases = $row[63];  $OldCapDefs = $row[64];  $OldCapCases = $row[65];  $OldNonCapDefs = $row[''];  $OldNonCapCases = $row['']; 

All I've been trying to do is replace the $row[##] with $row ['']. 我一直试图做的就是用$ row ['']替换$ row [##]。

I've tried: 我试过了:

\[##\]
\[0-100\]

and a few others, to no avail. 还有其他一些,无济于事。 Am I doing something wrong? 难道我做错了什么? I have the regular expression checkbox checked. 我选中了正则表达式复选框。

You probably want to use 你可能想用

\[[0-9]+\]

Which means 意思是

  • \\[ a [ symbol (escaped since [ has a special meaning in regular expressions). \\[一个[符号(因为[在正则表达式中有特殊含义]而被转义)。
  • [0-9] means any digit [0-9]表示任何数字
  • + means one or more of the previous symbol +表示前一个符号中的一个或多个
  • \\] a ] symbol. \\] a ]符号。

Your attempt is slightly wrong: 你的尝试有点不对劲:

  • # has no special meaning in regular expressions. #在正则表达式中没有特殊含义。

  • 0-100 (if put in brackets, as [0-100] ) means all characters from 0 to 1 plus 0 and 0 , ie it's effectively the same as "zero or one". 0-100 (如果放在括号中,如[0-100] )表示0100所有字符,即它实际上与“0或1”相同。


See this question for generating a regular expression matching a specific numerical range. 请参阅此问题以生成与特定数值范围匹配的正则表达式。

don't have notepad++,but could you try: 没有notepad ++,但你可以尝试:

\[\d{2}\] 
\[[0-9][0-9]\]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM