Regex 字符串上的正则表达式
我在一本书中写了这个正则表达式 正则表达式:Regex 字符串上的正则表达式,regex,Regex,我在一本书中写了这个正则表达式 正则表达式:(^A.*\..\s)\\\\(\sS.*:\sA.*.\sN...\s))\\\\\(\sN.+)/g 正文: AT1G01010.1 |符号:ANAC001,NAC001 |包含蛋白质1的NAC结构域 |chr1:3760-5630正向长度=429 我能够检测到上面文本中的第一个字符串|第二个字符串|第三个字符串| 我想使用正则表达式消除上面文本中的第二部分(“符号:ANAC001,NAC001”)。有人能帮忙吗?或者我需要一个正则表达式来只检测第
(^A.*\..\s)\\\\(\sS.*:\sA.*.\sN...\s))\\\\\(\sN.+)/g
正文:
AT1G01010.1 |符号:ANAC001,NAC001 |包含蛋白质1的NAC结构域
|chr1:3760-5630正向长度=429
我能够检测到上面文本中的第一个字符串|第二个字符串|第三个字符串|
我想使用正则表达式消除上面文本中的第二部分(“符号:ANAC001,NAC001”)。有人能帮忙吗?或者我需要一个正则表达式来只检测第一个和第三个字符串。您到底想做什么?您提供的常规ex将搜索整个文本并返回匹配的文本。所以你把正则表达式当作一个整体。如果只需要抓取第1部分和第3st部分,则需要对同一文本执行两次单独的正则表达式,并将结果合并在一起。考虑以下正则表达式,因为您已经在使用字符串
^
锚定的开头
^(A[^|]+)\s\|[^|]+\|\s*([^|]+)\s\|
试试看:
(^A.*\..\s)\|(?:\sS.*:\sA.*,\sN.....\s)\|(\sN.+)
您想删除第二部分吗?不,它匹配所有三个字符串。注意:您的匹配结果在捕获组
1
和2
中,感谢4实况演示。工作正常:)