【发布时间】:2018-01-06 09:06:47
【问题描述】:
如果我有一个大文本,并且我需要只保留匹配的内容,我该怎么做?
例如,如果我有这样的文字:
asdas8Isd8m8Td8r
asdia8y8dasd
asd8is88n8gd
asd8t8od8lsdas
as9ea9ad8r1n88r8e87g6765ejasdm8x
并使用此正则表达式:[0-9]([a-z]) 将所有字母组合在一个数字之后并替换为 \1 我会将所有(数字)(字母)替换为(字母)(如果我想删除其余部分并仅保留字母匹配)?...
将此文本转换为
ImTr
y
ing
tol
earnregex
如何用分组替换此文本并删除其余文本?
如果我想删除所有但没有匹配的? 在这种情况下,将文本转换为:
8I8m8T8r
8y8d
8i8n8g
8t8o8l
9e9a9r1n8r7g5e8x
我可以匹配所有不是[0-9]([a-z])的吗?
谢谢! :D
【问题讨论】:
-
你应该改进你的措辞。很难理解你的实际意思。如果您这样做,我们将能够给出更准确的答案。
-
您确定要在第二行使用
y而不是yd?尝试将(?i-s)[0-9]([a-z])|.替换为(?{1}$1:) -
我正在尝试删除所有文本,但仅保持匹配...
-
维克托,成功了……坦克!您可以发布解释代码的答案吗?我很乐意给你一个赞成票...你知道如何制作相同的内容,但保留所有匹配的内容吗?像这样
8I8m8T8r 8y8d 8i8n8g 8t8o8l 9e9a9r1n8r7g5e8x -
@Emanuel:看我的回答,正则表达式是一样的,你只需要用
$0替换$1(整个匹配)。