打印正则表达式匹配的最佳方法是什么?

乔特尼

我想知道最好,最简单的方法来仅打印regex匹配。

老兄说你有这个正则表达式 ab[a-z][0-9]+xyz

以及以下数据:

cat file
her are my databc653xyzc test
some data abc12345xyzmore
what abx764xyzyes thisa sdabu9483xyzfk
not this data

然后我想得到这个结果:

abc653xyz
abc12345xyz
abx764xyz abu9483xyz


这是我发现似乎可行的结果:

awk 版本:

awk -F¤ '$0~reg {gsub(reg,"¤&¤");for (i=2;i<=NF;i+=2) printf "%s ",$i;print ""}' reg="ab[a-z][0-9]+xyz" file
abc653xyz
abc12345xyz
abx764xyz abu9483xyz

如果数据确实包含¤或使用任何字符作为字段分隔符,它将失败

A gnu awk(打印第二个匹配,但在单独的行上)

awk -v RS="ab[a-z][0-9]+xyz" 'RT{print RT}' file
abc653xyz
abc12345xyz
abx764xyz
abu9483xyz


sed 版本(缺少第二个匹配项)

sed -n 's/^.*\(ab[a-z][0-9]\+xyz\).*$/\1/p' file
abc653xyz
abc12345xyz
abx764xyz
恶魔

用途grep

grep -oP 'ab[a-z][0-9]+xyz' filename

它也适用于一行上的任何点击数。

$ cat file
her are my databc653xyzc test xyabc42xyzghi
some data abc12345xyzmore
what abx764xyzyes
not this data
$ grep -oP 'ab[a-z][0-9]+xyz' file
abc653xyz
abc42xyz
abc12345xyz
abx764xyz

如果您需要输入中的一行上有多个匹配项才能出现在输出中的同一行上,则可以使用perl:

perl -lne '@m = $_ =~ /(ab[a-z][0-9]+xyz)/g; print join(" ",@m) if @m' inputfile

这将产生:

abc653xyz abc42xyz
abc12345xyz
abx764xyz

上面示例中的示例输入。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式替换python中的字符串但保持大小写的最佳方法是什么?

来自分类Dev

如果正则表达式匹配A而不是正则表达式B,则Perl打印

来自分类Dev

生成最佳的正则表达式匹配

来自分类Dev

空行的正则表达式是什么?

来自分类Dev

bourne shell脚本中的正则表达式匹配运算符是什么?

来自分类Dev

打印正则表达式匹配Perl

来自分类Dev

匹配此字符串的正则表达式是什么?

来自分类Dev

正则表达式匹配重复的最佳实践

来自分类Dev

在javascript中的正则表达式中忽略空格和不同大小写的最佳方法是什么

来自分类Dev

是什么导致此正则表达式匹配所有内容?

来自分类Dev

匹配不带'../'的相对路径的正则表达式是什么?

来自分类Dev

-> [^] + <-正则表达式匹配什么?

来自分类Dev

Awk,仅打印与正则表达式匹配的模式

来自分类Dev

创建在正则表达式匹配中返回命令的类的最佳方法

来自分类Dev

匹配不带'../'的相对路径的正则表达式是什么?

来自分类Dev

什么是处理大量用户定义的正则表达式的最佳方法

来自分类Dev

在Linux中通过正则表达式搜索通过某种模式命名的文件的最佳方法是什么?

来自分类Dev

匹配正确字符串的确切正则表达式是什么?

来自分类Dev

正则表达式':[^:] +:[^:] +:[^:] + *与什么匹配

来自分类Dev

将捕获的组再细分为python正则表达式的最佳方法是什么?

来自分类Dev

bourne shell脚本中的正则表达式匹配运算符是什么?

来自分类Dev

打印正则表达式匹配Perl

来自分类Dev

grep基本正则表达式中与电子邮件匹配的正则表达式是什么?

来自分类Dev

Java正则表达式:筛选出键盘字符的最佳方法是什么?

来自分类Dev

匹配C#中任何小数的正则表达式是什么?

来自分类Dev

正则表达式是什么?

来自分类Dev

如果请求 URL 与正则表达式不匹配,正确的状态代码是什么

来自分类Dev

在 R 中使用正则表达式计算向量中重复字符串的最佳方法是什么?

来自分类Dev

在测试数据类型时在 for 循环中使用正则表达式的最佳方法是什么?

Related 相关文章

  1. 1

    正则表达式替换python中的字符串但保持大小写的最佳方法是什么?

  2. 2

    如果正则表达式匹配A而不是正则表达式B,则Perl打印

  3. 3

    生成最佳的正则表达式匹配

  4. 4

    空行的正则表达式是什么?

  5. 5

    bourne shell脚本中的正则表达式匹配运算符是什么?

  6. 6

    打印正则表达式匹配Perl

  7. 7

    匹配此字符串的正则表达式是什么?

  8. 8

    正则表达式匹配重复的最佳实践

  9. 9

    在javascript中的正则表达式中忽略空格和不同大小写的最佳方法是什么

  10. 10

    是什么导致此正则表达式匹配所有内容?

  11. 11

    匹配不带'../'的相对路径的正则表达式是什么?

  12. 12

    -> [^] + <-正则表达式匹配什么?

  13. 13

    Awk,仅打印与正则表达式匹配的模式

  14. 14

    创建在正则表达式匹配中返回命令的类的最佳方法

  15. 15

    匹配不带'../'的相对路径的正则表达式是什么?

  16. 16

    什么是处理大量用户定义的正则表达式的最佳方法

  17. 17

    在Linux中通过正则表达式搜索通过某种模式命名的文件的最佳方法是什么?

  18. 18

    匹配正确字符串的确切正则表达式是什么?

  19. 19

    正则表达式':[^:] +:[^:] +:[^:] + *与什么匹配

  20. 20

    将捕获的组再细分为python正则表达式的最佳方法是什么?

  21. 21

    bourne shell脚本中的正则表达式匹配运算符是什么?

  22. 22

    打印正则表达式匹配Perl

  23. 23

    grep基本正则表达式中与电子邮件匹配的正则表达式是什么?

  24. 24

    Java正则表达式:筛选出键盘字符的最佳方法是什么?

  25. 25

    匹配C#中任何小数的正则表达式是什么?

  26. 26

    正则表达式是什么?

  27. 27

    如果请求 URL 与正则表达式不匹配,正确的状态代码是什么

  28. 28

    在 R 中使用正则表达式计算向量中重复字符串的最佳方法是什么?

  29. 29

    在测试数据类型时在 for 循环中使用正则表达式的最佳方法是什么?

热门标签

归档