正则表达式:更改以字符开头的行的一部分
Regular expression: Changing part of a line starting with a character
我正在尝试编写一个正则表达式来查找以“@”开头的行并查找特定字符并将其替换。具体来说,我想找到如下行:
@xxxxxx{yyy/zzz
并将其替换为
@xxxxxx{yyy_zzz
(xxxxxx,yyy和zzz没有/)
我可以想出以下从一行的开头开始并找到第一个 /
^(.*?)/(.*?)
然后我可以用
改变这个
_
但这会在其中获取更多带有 / 的行,我想将它们集中在以 @ 开头的行上。我将不胜感激帮助。更具体地说,我在 Textmate 中执行此操作。
不是 作为 Textmate 专家,我希望这会起作用:
(?<=@.*?)\/
它的工作原理是在后面查找“@
”符号,然后是任意数量的任意符号,最后是斜杠。匹配将只包含斜线,很容易用下划线替换匹配。
^(@.*?)\/(.*)
将在 @xxxxxx{yyy/zzz 的第 1 组和第 2 组中获得 @xxxxxx{yyy 和 zzz。请注意,我转义了 /。您可能需要根据您使用的语言进行更改。
我曾经使用下面的网站进行作业。它可能对您的下一个正则表达式有所帮助。
我正在尝试编写一个正则表达式来查找以“@”开头的行并查找特定字符并将其替换。具体来说,我想找到如下行:
@xxxxxx{yyy/zzz
并将其替换为
@xxxxxx{yyy_zzz
(xxxxxx,yyy和zzz没有/)
我可以想出以下从一行的开头开始并找到第一个 /
^(.*?)/(.*?)
然后我可以用
改变这个_
但这会在其中获取更多带有 / 的行,我想将它们集中在以 @ 开头的行上。我将不胜感激帮助。更具体地说,我在 Textmate 中执行此操作。
不是 作为 Textmate 专家,我希望这会起作用:
(?<=@.*?)\/
它的工作原理是在后面查找“@
”符号,然后是任意数量的任意符号,最后是斜杠。匹配将只包含斜线,很容易用下划线替换匹配。
^(@.*?)\/(.*)
将在 @xxxxxx{yyy/zzz 的第 1 组和第 2 组中获得 @xxxxxx{yyy 和 zzz。请注意,我转义了 /。您可能需要根据您使用的语言进行更改。
我曾经使用下面的网站进行作业。它可能对您的下一个正则表达式有所帮助。