48

我对正则表达式有点陌生,我希望搜索一些通配符字符串的多行/实例,例如 *8768、*9875、*2353。

我想提取这些(在一个文件中)的所有实例,而不是单独搜索它们。

任何帮助是极大的赞赏。我尝试过*8768、*9875等...

4

3 回答 3

73

如果我明白你在问什么,它是一个像这样的正则表达式:

^(8768|9875|2353)

这仅匹配行首的三组数字字符串。

于 2014-01-08T20:52:00.460 回答
43

要获取包含文本或的行8768,请使用:98752353

^.*(8768|9875|2353).*$

这是什么意思:

^                      from the beginning of the line
.*                     get any character except \n (0 or more times)
(8768|9875|2353)       if the line contains the string '8768' OR '9875' OR '2353'
.*                     and get any character except \n (0 or more times)
$                      until the end of the line

如果您确实想要文字*字符,则必须对其进行转义:

^.*(\*8768|\*9875|\*2353).*$
于 2014-01-08T20:59:23.710 回答
0

我建议更好的解决方案。我的任务:在每条记录之前添加http://google.com/路径并导入多个字段。

CSV 单字段值(所有图像只有文件名,用 | 分隔):
“123.jpg|345.jpg|567.jpg”

篡改第一个插件:通过 REGEXP 查找和替换:模式:/([a-zA-Z0-9]*)./ 替换:http: //google.com/ $1

Tamper 2nd 插件:explode 设置:explode by |

在这种情况下,您不需要任何附加字段映射,并且可以在 CSV 中使用 1 个字段

于 2016-03-14T02:55:08.337 回答