我有一个由“[1]”标记分隔的文本片段组成的文本。我想使用正则表达式来选择(并最终删除)那些不包含星号的分隔片段。
范例
[1] "Q 1 Gender * modal2"
Gender 1 0.0165 0.00144 0.6990 0.555
modal2 2 0.1588 0.01387 3.3636 0.010 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
[1] "Q 1 Gender * interv"
Gender 1 0.0165 0.00144 0.6876 0.495
interv 4 0.0563 0.00492 0.5868 0.765
[1] "Q 1 Acad_categ * Acad_field"....
在所呈现的文本中,第二个和第三个标签[1]之间的第二个片段将是所选择的片段。
1条答案
按热度按时间1u4esq0p1#
就像这样..
简明英语说明
匹配
[1]
,后跟一个或多个不是星号的字符,可以包括换行符,后跟(但不包括在匹配中)[1]
或匹配文本的结尾。技术说明
匹配
[1]
。以非贪婪的方式匹配一个或多个除星号以外的字符(因此,它可以找到最短的匹配,仍然可以在它的末尾找到下一部分)。
没有捕获任何东西-
(?: ... )
-匹配。..下面的字符是
[1]
,但它不会在匹配时消耗它,只是检查它是否在那里(积极的前瞻Assert)。或者...
正在匹配的字符串的结尾。