Regex Unicode替换空格和制表符

svdrlsy4  于 2023-10-22  发布在  其他
关注(0)|答案(3)|浏览(131)

我有麻烦让这个regex替换代码工作“再次”
我相信这曾经在/net中工作过,但它从来没有在Example中工作过(这意味着它可能从来没有正常工作过)Expresson Screenshot
我有文本字符串,我需要删除任何空格或制表符之间的[;[30]和[G30] -但不是线饲料!

N10 ;  G30

替换之后,结果应该是,

N10 ;G30

这是我当年的想法

;\u0020*\u0009*(?:\w+\n)

如果找到,则应将其替换为简单的;
我附上了Exhibition截图,因为它可能会使事情更容易理解
你有什么办法吗

axkjgtzd

axkjgtzd1#

也许我不明白这个问题,但如果目标是删除;之前或之后的空白,你可以这样做:

[\u0020\u0009]*;[\u0020\u0009]*

我不确定换行符的问题,但也许Example程序中有一个关于如何处理行首或文本的特性(通常是类似^...$/A.../z的东西)。
如果你想在每一行使用Excel A1,那么下面的方法可能会起作用:

注意,在上面我使用了^$的“锚”。

omjgkv6w

omjgkv6w2#

如果后面至少有一个单词字符,并且您使用的是C#,则可以使用:用途:

;[\p{Zs}\t]+(?=[^\W\d]+\d)
  • ;按字面匹配
  • [\p{Zs}\t]+匹配1+空格字符或制表符
  • (?=[^\W\d]+\d)正向预测,Assert1+个字字符,不带数字,然后是数字

在替换中使用;
参见regex demo
如果在单词characters后面应该有一个换行符:

;[\p{Zs}\t]+(?=[^\W\d]+\d\w*\r?\n)

再看regex demo

rnmwe5a2

rnmwe5a23#

匹配水平空白:

;\h*(?:\w+\n)

或者,如果不支持,请使用 * 减法 * 来匹配空白 *,除了 * 新行:

;[\s&&[^\n\r]]*(?:\w+\n)

相关问题