如何删除加载文件中的定界字符?

问题描述 投票:0回答:1

有没有办法编写一个正则表达式,从包含 48 个这样的字符的每一行中删除 2 个定界字符“þ”?

我试过手动删除它们,但是时间太长了。然后我尝试了一个有问题的正则表达式:

s/(^(?:.*?þ){46}.*?)þþ(.*)/$1$2/g
,但它灾难性地失败了。

regex delimiter
1个回答
0
投票

您可以在第一部分使用 negated character class 匹配除

þ
以外的任何字符,而不是非贪婪点。

^((?:[^þ]*þ){46}).*?þþ(.*)

模式匹配:

  • ^
    字符串开始
  • (
    捕获 第 1 组
    • (?:[^þ]*þ){46})
      重复匹配字符 46 次,除了
      þ
      然后匹配
      þ
  • .*?þþ
    匹配尽可能少的字符,直到第一次出现
    þþ
  • (.*)
    捕获组2,匹配其余行

查看正则表达式演示

© www.soinside.com 2019 - 2024. All rights reserved.