【发布时间】:2016-03-22 14:09:47
【问题描述】:
我正在 import.io 爬虫脚本中寻找正则表达式。
文本可以包含:
xxx – yyy – zzz
rrr – sss
或者
xxx
yyy
在任何一种情况下,我都需要 yyy 部分。所以我创建了以下前瞻脚本:
(?=.*\–.*)– ([a-zA-Z0-9]*) –|(\n(.*))
在 regex.101 中,它似乎可以正常工作。 Link to Regex101
但是当我在 import.io 中尝试这个正则表达式时,它似乎不起作用。那么有人知道如何在 import.io 中使用适当的环视吗?
(加法1:) 似乎第一个测试有效,因此用虚线表示。但第二个没有。仍然不知道为什么。
【问题讨论】:
-
您需要匹配
yyy还是只看它并从匹配中忽略?因为前瞻用于后者。 -
这个正则表达式 -
-\s*(\w+)\s*-|\n(\w+)\n(?:\n|$)- 捕获连字符之间的任何单词,以及后跟空行或文本结尾的任何单词。 regex101这是你想要的吗? -
似乎是换行符出错了。那个 import.io 没有正确处理这个问题。但我不知道在哪里匹配才能获得第二组。
-
也许您需要添加
\r-– +([a-zA-Z0-9]*) +–|\r?\n(.*)$? -
我试过了,还是不行。