如何在文档中使用正则表达式对字符串进行完全匹配

无政府状态

我有一个看起来像这样的文件listofnames.txt

this-is-name-1
this-is-name-2
...
this-is-name-11
this-is-name-12
this-is-name-13
this-is-name-14
...
this-is-name-21
....

我要完全匹配某个单词,并在其旁边添加一个“ 0”。我使用以下命令:

sed -i '/this-is-name-1/s/$/ 0/' ~/listofnames.txt

但是,除了这个,

this-is-name-1 0
this-is-name-2
...
this-is-name-11
this-is-name-12
this-is-name-13
this-is-name-14
...
this-is-name-21
....

我明白了

this-is-name-1 0
this-is-name-2
...
this-is-name-11 0
this-is-name-12 0
this-is-name-13 0
this-is-name-14 0
...
this-is-name-21
....

我的命令出了什么问题?我该如何解决它并做我需要的事情。似乎是在进行部分比赛,而不是全部比赛。

比那

您必须将单词匹配:this-is-name-1这样才能排除诸如此类的情况this-is-name-11。执行此操作的方法有很多,具体取决于文件的其余内容以及要保护其免受哪些情况影响。例如,\b匹配单词赏金,包括空格字符,行的开头/结尾以及其他非字母数字字符。看来对您的情况有好处:

sed -i '/\bthis-is-name-1\b/s/$/ 0/' file

您会发现此阅读非常有用:参考-此正则表达式是什么意思?

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式完全匹配字符串?

字符串完全匹配的正则表达式

如何在Java中使用正则表达式非捕获组进行字符串替换

如何在Python后置断言正则表达式(?<= \\)中使用'\'来匹配类似C ++的引号字符串

如何在Python中使用正则表达式从字符串中抽出时间?

如何在Perl中使用正则表达式拆分字符串?

如何在Notepad ++中使用正则表达式捕获和替换字符串

如何在Chapel中使用正则表达式提取子字符串?

我如何在python中使用正则表达式返回子字符串

如何在Node.js中使用单个正则表达式匹配多个字符串?

如何在bigquery中使用正则表达式拆分字符串

如何在Java中使用正则表达式从字符串下面获取值

如何在Swift中使用正则表达式捕获冒号之间的字符串

PHP:如何在正则表达式字符串数组中使用in_array?

如何在VScode中使用正则表达式的字符串前插入$?

如何在Ajv中使用正则表达式验证字符串?

如何在python中使用正则表达式替换字符串的多个单词?

如何在Perl中使用正则表达式模式(例如[aaa-bbb.com])匹配字符串

如何在emacs中使用正则表达式匹配此字符串?

如何在javascript中使用正则表达式来单独搜索字符串?

如何在目标C中将字符串与正则表达式进行完全比较

如何在Java中字符串的某些部分中使用正则表达式?

如何在python中使用正则表达式以“,”分隔字符串

如何在JavaScript中使用正则表达式查找字符串?

java中使用正则表达式进行字符串匹配

如何在python中使用正则表达式拆分字符串?

如何在python中使用正则表达式搜索搜索字符串

如何在 Python 中使用正则表达式查找匹配字符串到特定字符串

在 Ruby 中使用正则表达式进行字符串匹配