我正在尝试编写一个正则表达式,该表达式查找以'@'开头的行,并找到一个特定字符并将其替换。具体来说,我想查找以下行:
@xxxxxx{yyy/zzz
并替换为
@xxxxxx{yyy_zzz
((xxxxxx,yyy和zzz没有/)
我可以想出以下内容,它们从一行的开头开始,并找到第一个/
^(.*?)/(.*?)
然后我可以用
进行更改$1_$2
但这会在/中选择更多行,我想将其集中在以@开头的行上。我将不胜感激。更具体地说,我正在Textmate中进行此操作。
答案 0 :(得分:3)
^(@.*?)\/(.*)
将在第1组和第2组的@xxxxxx {yyy / zzz中获得@xxxxxx {yyy和zzz。请注意,我逃脱了/。您可能需要根据使用的语言进行更改。
我过去经常使用下面的网站进行作业。它可能对您下一个正则表达式有帮助。
答案 1 :(得分:1)
不是是Textmate的专家,我希望这会起作用:
(?<=@.*?)\/
通过在后面寻找“ @
”符号,后跟任意数量的任何符号以及最后一个斜杠来工作。匹配项仅包含斜杠,可以轻松地将匹配项替换为下划线。