Questions tagged «regex»

也称为正则表达式或regexp,是一组字符串的描述,通常用于搜索和验证字符串。

1
如何使sed省略不匹配的行?
在以下示例中,sed匹配以a a或a 开头的行,c并打印该行的第一个字符(a或c): $ echo "ag bh ci dj ek fl" | sed 's/\(a\|c\)./\1/' # Matches lines starting with 'a' or 'c'. output: a bh c dj ek fl 但是,与图案不匹配的线也会被打印出来。我该如何sed忽略与模式不匹配的行?我可以通过将其与grep(如下所示)组合来获得所需的效果,但是我想知道是否sed可以“单独”实现该效果。 $ echo "ag bh ci dj ek fl" | grep '[ac]' | sed 's/\(a\|c\)./\1/' output: a c

1
如何使用Vim进行块搜索和替换?
我在Vim中有文字 点击Ctrl+V以将VIm置于块模式 突出显示我想要的文字 输入:此提示:'<,'> 我在提示中添加了我的正​​则表达式s/ /*/g。这给我留下:'<,'>s/ /*/g了深刻的印象 我按回车 不幸的是,它在块的整个行上运行,而不仅仅是块。无论如何,有做一个块搜索和替换?
8 vim  regex 

1
正则表达式在Skype中编辑?
好吧,我不是Skype的大用户,但是我正在和姐姐聊天,打错字并习惯打字 tpyo s/tpyo/typo/ 令我惊讶的是,它实际上改变了历史。我正在使用linux skype客户端2.1.0.47-r1,而我的妹妹正在Windows上使用4.something。 当她试图做同样的事情时,那没有用。有人知道这是否特定于linux版本吗? 我偶然发现的最酷的复活节彩蛋/功能。
8 linux  skype  regex 


3
正则表达式:不以“模式”开头
我的LIST文件中有很多行,并且只想列出名称不以(或包含)“git”开头的行。 到目前为止,我有: cat LIST | grep ^[^g] 但我想要像: #not starting by "git" cat LIST | grep ^[^(git)] #not containing "git" cat LIST | grep .*[^(git)].* 但这不正确。我应该使用什么正则表达式?
7 regex  grep 


5
使用sed从字符串中删除数字和空格
我试图删除第一次出现的数字,点,数字的第二次出现以及单词之前的空格。 我想出了这个正则表达式: sed 's/^[0-9]\+.[0-9]\+\s//' input.txt > output.txt 文字样本: 2.14 Italien 2.15 Japonais 不幸的是,我的正则表达式不起作用。有一个问题,\s但我无法确定它是什么... 有人可以帮忙吗? 编辑:问题是我需要删除第一个空格只有一些文本包含空格,如下所示: 3.15 Chichewa 3.16 Chimane 3.17 Cinghalais 3.18 Créole de Guinée-Bissau
6 regex  sed 

2
grep - 匹配除了给定文件类型之外的任何内容
我想清理我的音乐库,所以当Rhythmbox在一些WMA-Relic上捣乱时,我不再能从Rhythmbox那里“搜索合适的插件”消息。 我有工具,但现在我想查找这些文件。我可以使用ls获取所有音乐文件的列表,然后将其传递给grep并捕获所有类似的mp3: ls */* | grep \.mp3$ 现在我想过滤掉所有的MP3,我该怎么做?我和^和〜一起搞砸了很多!但我似乎永远不会到达任何地方。我知道有一些WMA在那里,但为什么我应该在我有一台计算机xD时手动搜索 有人可以帮忙吗?
5 linux  grep  regex 

1
替换sed中的数字块
我一直在摆弄这一段时间,似乎无法弄明白。我要做的是用一个#替换文件中的所有数字。 听起来很简单,它应该是,但我无法理解它。任何帮助,将不胜感激。 我到目前为止(但不起作用)是: echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]+/#/g' 我期望的输出是: fdsafdsa # dsafdas 但是sed给了我相同的字符串,没有任何替换。 有线索吗?

2
如何在行尾用反斜杠格式化一行?
我想尝试在行尾用反斜杠格作一行,如: abc\ def ghij ... 我希望它可以点击“abc”这一行。我尝试了下面的命令,但它们没有用。 grep -EHn "\\$" test_file grep -PHn "\\$" test_file 我该如何解决这个问题?我只是不知道grep中转义字符的逻辑。表达确实在vim中起作用。
3 linux  regex  grep 

1
Linux“find -regex”不处理绑定
我有以下文件,需要匹配它们: ./foo.bar1.sh -match ./qux/foo.bar2.sh -match ./foo.sh -match ./baz.sh -no match ./foo.bar3 -no match 我试过了: 找 。 -regex“。* foo(bar [0-9])?. sh” 但它什么也没有回报。我无法弄清楚为什么正则表达式不起作用...请帮忙吗?
2 linux  find  regex 

1
Grep Whitespace跨越多行
在一堆文本文件(.vb)中给出以下内容: Partial Class [A-Za-z0-9_] Inherits System.Web.UI.Page End Class 我正在尝试grep查找具有此基本空代码文件的文件,以生成这些文件的列表,并删除它们。 grep "Inherits System.Web.UI.Page[:space:]*End Class" -r 但是上面的grep不起作用......在阅读了POSIX字符类和grep手册页后,我很难过
2 regex  grep 

1
使用正则表达式查找完整形式的括号中的首字母缩略词
我试图找到使用括号在文本中指定的完整形式的首字母缩略词。 这是一个例子: 据报道,异常DNA甲基化是癌症中主要的表观遗传改变之一,在结肠直肠癌(CRC)的一个子集中积累,即所谓的CpG岛甲基化表型(CIMP),已知其与微卫星减少的不稳定性相关( MSI) - 高CRC 在这里,我希望能够形成一个简短/完整形式的列表,如: CRC - 结直肠癌 CIMP - CpG岛甲基化表型 微星 - 微型卫星降低了不稳定性 事情是我能够找到所有使用括号的实体 re.findall('(\(.*?\))', s)但是找到相应的完整形式证明是困难的。 假设所有这些完整形式都在括号的左侧,我想使用以下内容 2 在括号中捕获缩写的完整形式的条件 - 单词数不超过3+ | SF |哪里| SF |是短形式的字符数(微卫星减少不稳定性(MSI) - 这里全格有4个字,而短形有3个字) 完整形式的第一个单词以短格式的第一个字符开头(例如。 C 结直肠癌( C RC)) 以我目前的理解 regex,我还没能写出来 regex 这解决了上述两个条件,并在文本中找到所有这些情况。 能不能给我一些指示?
2 regex 

1
为特定子字符串创建具有“not”条件的Regex表达式
我有一个用例,我在字符串中搜索特定的子字符串,如果该特定的字符串包含另一个特定的子字符串,我希望它被拒绝。 例如: pikachu_is_the_best_ever_in_the_world_go_pikachu mew_is_the_best_ever_in_the_world_go_mew raichu_is_the_best_ever_in_the_world_go_raichu 我希望我的正则表达式选择带有“best”一词的字符串而不是“mew”这个词,即第一个和第三个字符串。 我试过结合 ^(.*best).*$ 和 ^((?!mew).)*$ 在下面的表达式和第二个正则表达式中,只有在字符串的开头出现“mew”时才会忽略单词。 ^(.*best)((?!mew).).*$ 并尝试过 ^((?!mew).)(.*best).*$
2 regex 

1
Notepad ++重新编号
有没有办法(正则表达式或其他选项)自动将ID重新编号为1,2等等,如下例所示? <comment id="53" status="new"> <comment id="54" status="new"> <comment id="55" status="new"> 对此: <comment id="1" status="new"> <comment id="2" status="new"> <comment id="3" status="new"> 我试图在下面的评论中使用链接中的Python脚本。我为上面的代码量身定做了它看起来像这样: def calculate(match): return 'comment id="%s"' % (match.group(1), str(int(match.group(2))-52)) editor.rereplace('comment id="([0-9]+)"', calculate) 它什么都不做。为什么?我做错了什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.