我有麻烦让这个regex替换代码工作“再次”
我相信这曾经在/net中工作过,但它从来没有在Example中工作过(这意味着它可能从来没有正常工作过)Expresson Screenshot
我有文本字符串,我需要删除任何空格或制表符之间的[;[30]和[G30] -但不是线饲料!
N10 ; G30
替换之后,结果应该是,
N10 ;G30
这是我当年的想法
;\u0020*\u0009*(?:\w+\n)
如果找到,则应将其替换为简单的;
我附上了Exhibition截图,因为它可能会使事情更容易理解
你有什么办法吗
3条答案
按热度按时间axkjgtzd1#
也许我不明白这个问题,但如果目标是删除
;
之前或之后的空白,你可以这样做:我不确定换行符的问题,但也许Example程序中有一个关于如何处理行首或文本的特性(通常是类似
^...$
或/A.../z
的东西)。如果你想在每一行使用Excel
A1
,那么下面的方法可能会起作用:^([A-Z]+\d+)[\u0020*\u0009]*;[\u0020*\u0009]*([A-Z]+\d+)$
注意,在上面我使用了
^
和$
的“锚”。omjgkv6w2#
如果后面至少有一个单词字符,并且您使用的是C#,则可以使用:用途:
;
按字面匹配[\p{Zs}\t]+
匹配1+空格字符或制表符(?=[^\W\d]+\d)
正向预测,Assert1+个字字符,不带数字,然后是数字在替换中使用
;
参见regex demo。
如果在单词characters后面应该有一个换行符:
再看regex demo。
rnmwe5a23#
匹配水平空白:
或者,如果不支持,请使用 * 减法 * 来匹配空白 *,除了 * 新行: