使用常规表达式提取和操作字符串的强大命令行工具

rextract的Python项目详细描述


用法

< Buff行情> < Buff行情>

用法:rextract(options)[regex pattern]([output format])

< Buff行情>

从stdin读取并逐行应用提供的regex模式,

可选地以"输出格式"指定的格式输出。

选项:

===

< Buff行情>

--调试启用调试模式

–版本打印版本并退出

用法:

><<P/> < Buff行情>

一些用法示例可以是:

  • 从输入中提取一个或多个组
  • 从输入中省略一个或多个组
  • 重新排列输入
  • 使用一些文本输入(csv?)执行一系列命令
  • 创建报告
  • 还有很多人!

正则表达式模式格式/提示:

==

< Buff行情>

rextract支持扩展正则表达式语法(python/perl风格),特别是

由标准python"re"模块提供。

一些例子可以在https://docs.python.org/3/howto/regex.html" rel="nofollow">https://docs.python.org/3/howto/regex.html

括号中包含的每个图案都算作一组。

从左到右为每组分配一个数字值,从1开始。

您可以将一个名称分配给一个组,如下所示:

< Buff行情>

(?)p<;我的组名>;[a-za-z][a-za-z0-9]+)

^这将创建一个组,您可以将其引用为:

${我的组名}

组必须以字母a-z或下划线(''u')开头,

< Buff行情> 并且只能包含字母a-z(任意大小写)、数字0-9或下划线。

命名一个组,例如:(?p<;名称>;)

正则表达式将在行内的任何点匹配,除非

存在"^"(行首)或"$"(行尾),在这种情况下,它

必须符合这些限制。

因此,无需在前缀中加上".*"即可匹配任何位置

在中间。

如果一行不匹配,则不会将其提供给用作输出,

< Buff行情>

它会被悄悄地跳过。不能对输出进行逻辑格式化

来自未知输入。

您可以在模式中指定"not",方法是用插入符号('^')开始一个组 < Buff行情>

例如,要匹配一行不以分号开头,可以使用a

图案线:

< Buff行情> ^([^;].*)

输出格式

==

< Buff行情>

"output format"参数可以与bash字符串完全相同-

除了前面带有

未逃过的美元($)符号。这些表示数字或

按名称命名。有关创建组的详细信息,请参见上面的部分。

如果省略"output format"参数,则整个匹配区域将

逐行打印。这相当于提供

"${0}"的"输出格式"。

数字组

----

< Buff行情>

第一组使用${1}或$1,第三组使用${3}。

数值组在正则表达式中显示时从左到右进行分配,

即使组是有条件的,也不考虑嵌套。

例如:

< Buff行情> "((黄色白色)切达干酪)((整体部分脱脂)莫泽雷拉)"

"黄白切达"是第一组,

"黄白"是第二组

"全部部分脱脂莫泽雷拉"是这个词RD组

"全部部分脱脂"是第四组。

如果组不匹配,则为其分配空字符串的值。

使用特殊组$0或${0]}打印整个匹配部分。

命名组

----

< Buff行情>

如果您将任何组定义为具有名称(请参阅上面有关此主题的部分),

p<;my_group>;…),然后您可以在输出中引用该组

作为$my_group或${my_group}。

注意:请确保用单引号引用"output format"参数,

< Buff行情> 或转义美元[$]符号(使用$)。

Tim Savannah的Rextract 1.0.0版

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将字符串转换为自定义对象   java如何从socket方法获取数据?   Java中的soap读取回车和新行   java在单击时替换图像   java推荐的使用RXJava执行异步任务的方法   java MySql连接器JDBC驱动程序不支持连接池吗?   java将活动堆栈清理到顶部   java计数用户输入的数量   java从webservice下载大文件导致应用程序性能问题   JavaLocalDate。EPOCH不可用   java如何在使用Selenium等待一定时间后,在页面无法加载(get(url))时自动刷新页面   java Calendar setLenient方法不允许检查年份字段的健全性   java Eclipse和intelliJ 安卓 SDK问题   java为什么我可以在没有super关键字的情况下调用父方法?   java iText的PDF格式不好