使用perl替换一列文本中的字符串的正则表达式

好奇的

我正在尝试编写一个正则表达式,以使用perl替换文本文件第一列中的字符串。我尝试了以下

foreach(@filecontents)
 {
  $_=~ s/($usersearch)\t|$usersearch\s\w+\t/$userreplace/gi;
 }

这适用于我测试过的数据,但是有更好的方法吗?

卡西米尔和希波吕特

您可以使用^锚点(字符串锚点的开始),并且可以将模式稍微缩短一点:

$_ =~ s/^$usersearch(?:\s\w+)??\t/$userreplace/i;

??您可以编写以下代码来代替使用惰性的量词

$_ =~ s/^$usersearch(?:[^\S\t]\w+)?\t/$userreplace/i;

使用第二个版本,结果可能会更快一些。

说明:

(?:..)   # is a non capturing group, it's only used to group elements 
         # together without capturing

??       # is the lazy version of the ? quantifier (zero or one time)

(?:..)?? # means "match the group only if needed"
         # (vs (?:..)? # means "match the group if it is possible")

[^\S\t]  # a character class that contains all white characters except the tab
         # the ^ at the begining is used to negate the class, \S is all that
         # is not a white character ( \s <=> [^\S] ), you only need to add \t
         # to exclude it.

注意:如果您的变量$usersearch可能包含正则表达式特殊字符,请不要忘记quotemeta在模式中使用它之前使用它。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式中的字符串替换

来自分类Dev

使用正则表达式替换字符串

来自分类Dev

使用正则表达式替换字符串

来自分类Dev

使用正则表达式替换字符串;

来自分类Dev

仅在Perl中的正则表达式匹配中替换字符串

来自分类Dev

使用正则表达式在Perl中的html字符串中查找和替换xml标签

来自分类Dev

在Perl中使用正则表达式替换xml标记内的多行字符串

来自分类Dev

用正则表达式替换文本中的多个字符串

来自分类Dev

如何在基于正则表达式的文件文本中替换字符串?

来自分类Dev

使用正则表达式从Perl中的字符串中删除多余的管道和围绕它们的文本

来自分类Dev

使用另一列从左到右开始的熊猫正则表达式匹配字符串

来自分类Dev

如何使用正则表达式替换子字符串中的特定字符?

来自分类Dev

如何使用正则表达式替换子字符串中的特定字符?

来自分类Dev

如何使用正则表达式和vi替换每一行中重复的单词字符串?

来自分类Dev

Perl字符串替换:匹配但不替换正则表达式的一部分

来自分类Dev

Perl字符串替换:匹配但不替换正则表达式的一部分

来自分类Dev

在netezza中不使用正则表达式替换字符串

来自分类Dev

使用正则表达式等替换C#中的字符串

来自分类Dev

使用正则表达式替换Delphi中的字符串

来自分类Dev

如何使用正则表达式替换确切的字符串?在DrRacket中

来自分类Dev

使用正则表达式替换字符串中的参数

来自分类Dev

在netezza中不使用正则表达式替换字符串

来自分类Dev

使用正则表达式替换文件中的字符串

来自分类Dev

如何使用正则表达式替换python词典中的字符串

来自分类Dev

使用正则表达式替换字符串中的所有图像标签

来自分类Dev

使用正则表达式根据上下文替换字符串中的点

来自分类Dev

使用正则表达式替换字符串中的匹配项

来自分类Dev

使用正则表达式替换Delphi中的字符串

来自分类Dev

使用正则表达式php替换字符串中的特定内容

Related 相关文章

  1. 1

    正则表达式中的字符串替换

  2. 2

    使用正则表达式替换字符串

  3. 3

    使用正则表达式替换字符串

  4. 4

    使用正则表达式替换字符串;

  5. 5

    仅在Perl中的正则表达式匹配中替换字符串

  6. 6

    使用正则表达式在Perl中的html字符串中查找和替换xml标签

  7. 7

    在Perl中使用正则表达式替换xml标记内的多行字符串

  8. 8

    用正则表达式替换文本中的多个字符串

  9. 9

    如何在基于正则表达式的文件文本中替换字符串?

  10. 10

    使用正则表达式从Perl中的字符串中删除多余的管道和围绕它们的文本

  11. 11

    使用另一列从左到右开始的熊猫正则表达式匹配字符串

  12. 12

    如何使用正则表达式替换子字符串中的特定字符?

  13. 13

    如何使用正则表达式替换子字符串中的特定字符?

  14. 14

    如何使用正则表达式和vi替换每一行中重复的单词字符串?

  15. 15

    Perl字符串替换:匹配但不替换正则表达式的一部分

  16. 16

    Perl字符串替换:匹配但不替换正则表达式的一部分

  17. 17

    在netezza中不使用正则表达式替换字符串

  18. 18

    使用正则表达式等替换C#中的字符串

  19. 19

    使用正则表达式替换Delphi中的字符串

  20. 20

    如何使用正则表达式替换确切的字符串?在DrRacket中

  21. 21

    使用正则表达式替换字符串中的参数

  22. 22

    在netezza中不使用正则表达式替换字符串

  23. 23

    使用正则表达式替换文件中的字符串

  24. 24

    如何使用正则表达式替换python词典中的字符串

  25. 25

    使用正则表达式替换字符串中的所有图像标签

  26. 26

    使用正则表达式根据上下文替换字符串中的点

  27. 27

    使用正则表达式替换字符串中的匹配项

  28. 28

    使用正则表达式替换Delphi中的字符串

  29. 29

    使用正则表达式php替换字符串中的特定内容

热门标签

归档