Questions tagged «regular-expression»

正则表达式是匹配字符串中字符模式的一种方式。

3
grep:尾随反斜杠
我想为做一个grep \resources\。我该怎么做呢? 我试过了: grep \resources\ grep \\resources\\ grep "\resources\" grep "\\resources\\" 这些都不起作用。

1
正则表达式(Big | Small)(State | City)-[0-9] * \。csv的.gitignore模式等效项是什么
我有一个正则表达式卡在我.gitignore类似于: (Big|Small)(State|City)-[0-9]*\.csv 它没有用,所以我对RegexLab.NET进行了测试。 然后,我找到了gitignore手册页,这使我了解到gitignore不使用正则表达式,而是使用fnmatch(3)。 但是,fnmatch它似乎没有等效的捕获组。这可行吗?还是需要将其分为三行?

2
Grep字边界
根据GNU文档: ‘\<’ Match the empty string at the beginning of word. ‘\>’ Match the empty string at the end of word. 我的/ etc / fstab看起来像这样: /dev/sdb1 /media/fresh ext2 defaults 0 0 我希望grep为/ media / fresh的存在返回TRUE / FALSE。我尝试使用\<,\>但是没有用。为什么? egrep '\</media/fresh\>' /etc/fstab 解决方法: egrep '[[:blank:]]/media/fresh[[:blank:]]' /etc/fstab 但是看起来很丑。 我的grep是2.5.1

2
Bash正则表达式捕获组
我正在尝试从字符串中匹配多个字母数字值(此数字可能有所不同),并将它们保存到bash捕获组数组中。但是,我只有第一场比赛: mystring1='<link rel="self" href="/unix//api/clouds/1/instances/1BBBBBB"/> dsf <link rel="self" href="/unix//api/clouds/1/instances/2AAAAAAA"/>' regex='/instances/([A-Z0-9]+)' [[ $mystring1 =~ $regex ]] echo ${BASH_REMATCH[1]} 1BBBBBB echo ${BASH_REMATCH[2]} 如您所见-它与我要查找的第一个值匹配,但与第二个值不匹配。

7
与SED正则表达式的非贪婪匹配(模拟perl的。*?)
我想用sed替换第一次AB和第一次出现AC(含)之间的字符串中的任何内容XXX。 对于例如,我有这样的字符串(该字符串是仅用于测试): ssABteAstACABnnACss 我想要类似以下的输出:ssXXXABnnACss。 我这样做是perl: $ echo 'ssABteAstACABnnACss' | perl -pe 's/AB.*?AC/XXX/' ssXXXABnnACss 但我想用实现它sed。以下内容(使用与Perl兼容的正则表达式)无效: $ echo 'ssABteAstACABnnACss' | sed -re 's/AB.*?AC/XXX/' ssXXXss



2
在awk中不区分大小写的搜索
我需要使用awk搜索关键字,但是我想执行不区分大小写(不区分大小写)的搜索。 我认为最好的方法是将搜索字词(“关键字”)和awk同时读取的目标行都大写。根据这个问题,我如何使用toupper所有大写字母进行打印,但是我不知道如何在匹配项中使用它,因为该答案仅显示了打印内容,而没有将大写文本保留在变量中。 在给出此输入的情况下,这是一个示例: blablabla &&&Key Word&&& I want all these text and numbers 123 and chars !"£$%& as output &&&KEY WORD&&& blablabla 我想要这个输出: I want all these text and numbers 123 and chars !"£$%& as output 这就是我所拥有的,但是我不知道如何添加toupper: awk "BEGIN {p=0}; /&&&key word&&&/ { p = ! p ; next } …

1
用sed替换文本并保留部分原始文本
我正在尝试转换 <id>1</id> <Name>ENTERPRISE RESOURCE PLANNING</Name> 至: <column name="id">1</column> <column name="Name">ENTERPRISE RESOURCE PLANNING</column> 我假设最好的工具是sed,但是我不知道如何将部分原始文本保留在替换部分中。 如果我做: $ sed -i 's/<.*>.*<.*>/<column name="\\1">\\2<\/column>/g' filename.xml 输出为: <column name="\1">\2</column> <column name="\1">\2</column> 或从内部执行类似操作vi,它输出: <column name=""></column> <column name=""></column> 我如何才能做到\1并被\2替换回其原始值?

3
rsync递归地忽略某些文件,其余文件除外,忽略.svn /目录
我rsync用来将某些文件从共享复制到另一个。 递归地,我需要: 删除目的地中从原点删除的文件 仅同步.php和.js文件 排除所有其他文件类型 不要删除.svn/目标目录 如果我使用这个: rsync -zavC --delete --include='*.php' --include='*.js' --exclude="*" \ /origin /destination 然后rsync不是递归的,因为exclude="*"排除所有文件,但也排除文件夹。 如果添加,--include="*/"则.svn/目录将被删除(也将包含在内)。 我该如何解决这种令人难以置信的难题? uname -a: Linux tux 3.9.2-1-ARCH#1 SMP PREEMPT星期六2013年5月11日20:31:08 CEST x86_64 GNU / Linux rsync 版: rsync 3.0.9-6

3
awk重复{n}不起作用
我正在尝试使用重复符号{n}打印行,但是它不起作用。对于。例如我想打印所有长度为4个字符的行 awk '/^.{4}$/' test_data 上面的代码没有打印出来。如何解决它,以便可以使用重复符号?我知道类似的选择awk '/^....$/' test_data和awk 'length ==3 ' test_data





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.